Undskyld - jeg ved ikke bedre!

USB-1100PA 433MHz Wireless RF Transceiver…

So I’m looking into home automation, and while I have something working on my Pi using some other 433 modules (namely the MX-05V/XD-RF-5V – rf for arduino), I though I would try my luck with this one, as it would make it possible to use other hardware then my pi, and perhaps make it easier for others to follow.

So this is the device:

rf_transceiver

Had I done a google search before ordering it, I properly would not have bought one, as it seems nobody has gotten them to work yet, but here’s some data on it, and some pictures:

[root@c4a012 urup]# cat /proc/version
Linux version 4.3.3-2-ARCH (builduser@tobias) (gcc version 5.3.0 (GCC) ) #1 SMP PREEMPT Wed Dec 23 20:25:12 CET 2015

[root@c4a012 urup]# lsusb -s 011
Bus 001 Device 011: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

[root@c4a012 urup]# dmesg
[ 8353.590658] usb 1-1.2: new full-speed USB device number 11 using ehci-pci
[ 8353.677620] cp210x 1-1.2:1.0: cp210x converter detected
[ 8353.677741] usb 1-1.2: cp210x converter now attached to ttyUSB0

And this to how the insides look:

IMG_20160121_145434IMG_20160121_145527IMG_20160121_145455

It has three chip on the PCB of interst:

  • First up, from the USB port is Silicon Labs CP2102, which is a “USB to UART Bridge”
  • Next is a Atmel MEGA48PA, which is a 20Mhz 8 bit AVR micro-processor.
  • And the final chip is a TI CC1101 tranceiver chip (“Low-Power Sub-1GHz RF Transceiver” accoring to Texas Instruments).

The PCB is also labeled “USB2101_RF1100”

So it’s found, and the right driver is loaded, so far so good, but now I can’t find any software to control it.

When plugged in LED2 lights up green (this LED is hidden when the white cover is on, and only LED1 is visible).

The dongle came with absolutely no manual or software, and while I can  start a minicom session on ttyUSB0, nothing more happens.

To get further I need to figure out what runs inside that AVR MCU.

Doing a bit more googling I found this: http://www.fytoo.com/msg.php?id=158 which might be the manufacturer of the device.
Unfortunately I don’t speak Chinese.

Also I’m unsure if the transceiver uses (can use) the same modulation as my cheap light switches and dimmers (which use OOK).

 

Reklamer og gratisaviser nej tak (2014/2015 og 2016)

Vi har fået skiftet postkasse, og i den forbindelse har vi mistet vores “Reklamer og gratisaviser – Nej tak” klistermærke (2014/2015 – der nu også gælder i 2016).

I den forbindelse bestilte vi et nyt klistermærke via internettet – det ventede vi på i over 1½ måned.
Da der ikke skte noget ringede jeg derind og bad kundeservice om et nyt mærke, og wupti, 4 dage senere ligger det her hos os.

For at hjælpe jer andre, vil jeg derfor anbefale jer at ringe til PostDanmark i stedet for at bruge deres hjemmeside.

Og ellers er her klistermærket, samt medfølgende vejledning, indscannet i 600dpi:
Reklamer og gratis aviser nej tak 2014-2015 mærke

Selve klistermærket måler 54x54mm, og har en “glossy”/mat blank overflade.

Nu kan i selv printe et nyt mærke, skulle det være nødvendigt.

 

 

IP391W P2P Survalience camera review and tips

So I found two of these at the local hardware store, with a heavy discount and though why not try them out?

They are banded “SafeHome” (http://safehome.dk/en/produkter/278031-Nordic/), but under the skin they are Tenvis IP391W (http://www.tenvis.com/ip391w-outdoor-waterproof-ip-camera-18leds-night-vision-p-196.html)

The initial impression was okay, as the housing feels good, sturdy and water proof.

While the hardware might seem fine, the software is somewhat lacking.

For all features to work they recommend using IE with a old ActiveX plugin…

The motion detection is REALLY terrible. I’ve set it to blunt (the least sensitive value), and still get about 5000 emails pr. day. Mostly at night, where it seems to trigger every minute or so.
It’s also very late to trigger an alarm, so in the morning I’m actually able to drive out of my garage and out of sight (20 meters) without the camera snapping a photo of me. If I stand still for a about minute, it correctly triggers an alarm, but it needs A WHOLE MINUTE!

On my phone I’m using an app called tinyCam Mobile, which works quite well, but I could not get the recommended app to work (P2P Cam h264).

To compensate for the lack of timely alarms I set up the camera to record continuously (from i own web-interface), however the files it creates on my NAS can only be watched by a windows xp program, and the video sometimes jump several seconds (up to 30 seconds) in time, and just to make it worse, you can’t seek in the files either!

What you can do however is watch the live streams using vlc:

1280×780:
vlc “rtsp://<cemera-ip>:<port>/0/video0” –rtsp-tcp

640×480:
vlc “rtsp://<cemera-ip>:<port>/0/video1″ –rtsp-tcp

320×240:
vlc “rtsp://<cemera-ip>:<port>/0/video2″ –rtsp-tcp

 

These streams seem to be more reliable, even if they also stutter at times.

I’m now using gstreamer to view & record the streams, using these commands:

Viewing:

gst-launch-0.10 rtspsrc user-id=”XXXX” user-pw=”XXXX” location=”rtsp://<camera-ip>:<port>/0/video0″ protocols=”tcp” ! rtph264depay ! h264parse ! ffdec_h264 ! ffmpegcolorspace ! autovideosink

 

And to record:

gst-launch-0.10 -e rtspsrc user-id=”XXXX” user-pw=”XXXX” location=”rtsp://<camera-ip>:<port>/0/video0″ protocols=”tcp” ! rtph264depay ! h264parse ! mp4mux moov-recovery-file=”video.mrf” ! filesink location=”video.mp4″

I’m using gstreamer 0.10 and the -e flag, otherwise the file is not seekable.
Also I’m using the moov-recovery-file option, as the file will get corrupted if gstreamer creahes, or looses the connection to the feed.
By recording the moov-recovery-file we can afterwards repair the file, using this command:
gst-launch-1.0 qtmoovrecover recovery-input=path.mrf broken-input=moovie.mov fixed-output=recovered.mov

Elgato EyeTV Netstream 4C – Part #2

It’s dead :-(

I wrote to Elgato support (regarding the issue I mentioned in the first post about the 4C), but before they could reply I noticed that the firmware was not up to date (though the app said it had updated it, and did not complain anymore.

The unit reported version 1.1.0-402r1, but the update file was labeled 1.1.2.

Somewhere on the internet I read that it might be a good idea to do a reset.
I had not rebooted the device myself after the firmware upgrade, because (as I recall) the app did that for me.

Following the reset indstructions on Elgato’s webpage (https://help.elgato.com/customer/portal/articles/1916236-eyetv-netstream-4c-reset-procedure) The device is now dead! :-(

The instructions says the LED should turn red and blue, and then shortly after out out, and the unit automatically reboot.
The lights turned solid red and solid blue, but was stuck there (even after 20 minutes).

Powering off and the device on again in normal mode the left led starts out orange, then quickly turns red, but then nothing more happens.

I don’t think it’s completely dead, because I suspect it’s the bootloader that turns the left LED from orange to red, and then the firmware should turn it green.
It’s dead enough though that it does not ask of an IP address.

 

This too I wrote to Elgato support. Here’s the complete email:

Hi Elgato.

I’ve run into a new problem with my Netstream 4C.
My device won’t start :-(

I was looking at the firmware version of my 4c, and 1.1.0-402r1 is a old
firmware, so I wanted to reboot/reset my unit, hoping it would then
update the firmware to te correct version.
The unit has not been rebooted since the android app said it had
firmware updated the device.

Thus I proceeded with the instructions found here:
https://help.elgato.com/customer/portal/articles/1916236-eyetv-netstream-4c-reset-procedure

Holding the reset button down, the left led first turns orange for a
short while, then the right led turns solid blue, and just after this,
the left led turns solid red.
I then release the reset button.
After 20 minutes the left led is still solid red and the right led solid
blue.

I figured something went wrong, so I powered off the device, left it for
10 seconds, and then powered it back up.
Now the left led is solid red, and after 30 minutes it has not turned
green yet.

How can I recover the device to a working state and update to the latest
firmware?

Regards
Mark Urup

 

Their reply:

Dear Mark,

Thank you for contacting Elgato Systems. The Netstream 4C is sold and supported in Germany only.

https://help.elgato.com/customer/portal/articles/1949531

I suggest you return the device to your reseller.

Very best,
xx
Technical Support
Elgato Systems LLC

I don’t really want to return the device, as I’m sure it’s great (after a bit of tweaking perhaps), I might need to.
I’ve written to support again hoping they can assist me in loading a new firmware, so I can keep it. Otherwise it’s being returned :-(

Emner man kan tænke lidt over inden valget

Emner man kan tænke lidt over mht valg:

  • offentlighedsloven (misbrug: http://www.dr.dk/Nyheder/Politik/2015/03/11/0311064219.htm)
  • ministerpension
  • fjernvarme-fritagelse (tilbageføre varme)
  • registreringsafgift (bil)
  • grøn-energi (afgifter, solceller mv.)
  • Salget af DONG
  • Løkkes roderi med billagene
  • Helles løftebrud
  • De radikales “Vi lytter til…” – ja ingen åbenbart, for vi ved hvor vi vil hen, og vi er ikke parate til kompromis.

Elgato Netstream 4C (4 tuner dvb-c network tv streamer with h.264 transcoding) review

This is going to be a series of articles where I post my experiences with this newly bought device.

This is the first part.

History:

Before I bought the 4c, I used a windows pc with 3 dvb-c usb tuners and ran NextPVR with NEWA (the web plugin).

From the NPVR database (which is sqlite) I created a m3u file that I could use on VLC (PC, MAC, iOS, Android), IPTV Simple (both on kodi (xbmc), and android).

This all works quite nicely, except it:

  • sends the complete signal out, which takes a lot of bandwidth depending on what channel you’re watching (especially when watching HD).
  • uses http streaming only, so any lost or delayed packets will stop the stream, and cause a re-buffering.
  • uses more power then i’d like (I’m using a old laptop (core 2 duo).

 

The Elgato EyeTV Netstream 4C

Link: https://www.elgato.com/en/eyetv-netstream-4c

In the box you get everything you need (almost)

There’s a:

  • Quick start guide
  • The network tuner box (netstream 4c)
  • 12V 2A power adapter (with EU and UK plugs)
  • Ethernet cable
  • Screws and rawplugs (4 of each)

Note: There is no cable to connet the antenna cable to your dvb-c signal source in the box.

It’s well made and looks good in a aluminium chassis, so it’s almost a shame i’m just going to hide it in the basement.

After unboxing it (no video, I don’t do that), and the connections made, the unit was turned on.
A led turned red, indicating power, and after about 30 seconds it turned green, indicating the unit was ready to to.

First use

I installed the EyeTv netstream app (https://play.google.com/store/apps/details?id=com.elgato.eyetv.netstream&hl=en) on my Nexus 10 tablet.
It quickly found the 4c, and prompted me to update to the latest firmware (1.1.0-402r1).
After the firmware upgrade the device rebooted, and the app found the 4c again, this time asking me to do a channel scan.

I selected “Denmark” as region, and began the channel scanning (which took a slow 20 minutes).
Every time it found a channel it wrote the name on the screen.

After the scan completed I had 69 channels to choose from.

For some reason it listed “3 sat” (a german channel) as the first one, and only somewhat down the list, the danish channels began to pop-up.

Most channels worked but, some did not display any video, and I only had sound, and after some time a error dialog was shown with “no codec”, with a link to: https://help.elgato.com/customer/portal/articles/1295893-ios-status-message-no-codec-or-unsupported-video-format

I’m on a Google Nexus 10 (running Android 5.1.1) using a Netstream 4c, but the help is for iOS and says it cannot play H264?
What the hell I though? Then way on earth do they have hardware transcoding into the h264 format?
Someone needs to take a look at the help system/messages.

On other channels I got neither video nor sound :-(

I’ve had sound issues with my own setup as well, because ac3 sound is not supported anymore in the MX Player app, which I’m using in my old setup.

I then installed the app on my phone (google nexus 4).
To my big surprice it said that I had 0 channels available and again had to do a channel scan!?
WTF? Since the 4c only has one dvb-c input, all tuner share the same input, and thus could/should share the same channels/scanning result.

This is as far as I’m come so far.

EyeTV (Netstream) app verdict

Once opened the first screen has menus for:

  • live tv
  • recordings
  • tv guide (epg)
  • settings

The app looks nice and is fluid, but could be improved.
So far I’ve found no way to go directly from the EPG screen to live tv, nor from live tv to EPG.
In “live tv”, you can see the current program, and the next one, but nothing more.
Recording are local recordings (and really, who records on their tablet/phone)?

Missing features

USB recording

The unit has two USB ports, but none of the can be used by the user to store recordings or other nifty stuff.
It would be a nice feature to be able to connect a USB drive to the 4c, and schedule recordings on the 4c to be recorded on a connected usb drive.

M3U playlist

The other devices in the netstream series had (as far as I can google) a m3u playlist you could import directly into vlc and other players.
This is missing on the 4c.
I’ll look at ways to get the direct streaming links, so I can use them in other players (as far as I can tell it should support http and rtsp streaming).

SSH

Warning: Messing/Hacking around with SSH in your box might brick it. Know what you are doing.

The login is “root” and password is “service”.

Thanks to Yan (https://grunenberger.net/2013/03/12/netstream-elgato/) we’ve got a login that also works on the 4c:

[urup@lge ~]$ ssh root@10.0.0.131
root@10.0.0.131’s password:
[571] May 12 11:43:21 lastlog_perform_login: Couldn’t stat /var/log/lastlog: No such file or directory
[571] May 12 11:43:21 lastlog_openseek: /var/log/lastlog is not a file or directory!
[571] May 12 11:43:21 wtmp_write: problem writing /var/log/wtmp: No such file or directory
***********************************************************************
Welcome to ARCLinux
***********************************************************************
[ARCLinux]$

Hardware and Firmware

Webinterface

The default webpage of the 4c is nothing much, but SSH’ing into the box, we can see there are more pages:

[ARCLinux]$ ls /www/ -al
total 128
drwxr-xr-x 6 root root 0 Feb 19 16:50 .
drwxr-xr-x 20 root root 0 Jan 1 1970 ..
-rw-r–r– 1 root root 10126 Feb 19 16:49 device.options.thtml
-rw-r–r– 1 root root 10943 Feb 19 16:49 device.status.thtml
-rw-r–r– 1 root root 2806 Feb 19 16:49 dvbc.options.thtml
-rw-r–r– 1 root root 2344 Feb 19 16:49 dvbc.status.thtml
-rw-r–r– 1 root root 2806 Feb 19 16:49 dvbs.options.thtml
-rw-r–r– 1 root root 2344 Feb 19 16:49 dvbs.status.thtml
-rw-r–r– 1 root root 826 Feb 19 16:49 expertmode.html
-rw-r–r– 1 root root 1150 Feb 19 16:49 favicon.ico
-rw-r–r– 1 root root 430 Feb 19 16:49 fwupdate.html
drwxr-xr-x 2 root root 0 Feb 19 16:50 icon
drwxr-xr-x 2 root root 0 Feb 19 16:50 image
-rw-r–r– 1 root root 3544 Feb 19 16:49 index.thtml
-rw-r–r– 1 root root 3413 Feb 19 16:49 main.options.thtml
-rw-r–r– 1 root root 4689 Feb 19 16:49 main.status.thtml
drwxr-xr-x 2 root root 0 Feb 19 16:50 script
drwxr-xr-x 2 root root 0 Feb 19 16:50 style
-rw-r–r– 1 root root 2823 Feb 19 16:49 transcoder.options.thtml
-rw-r–r– 1 root root 2345 Feb 19 16:49 transcoder.status.thtml

All pages are served by the Tombea process, and .thtml files contains variables it parse.

Running processes

[ARCLinux]$ ps aux
PID USER TIME COMMAND
1 root 0:01 init
2 root 0:00 [kthreadd]
3 root 0:00 [ksoftirqd/0]
4 root 0:00 [watchdog/0]
5 root 0:00 [events/0]
6 root 0:00 [khelper]
9 root 0:00 [async/mgr]
81 root 0:00 [kblockd/0]
86 root 0:00 [ksuspend_usbd]
91 root 0:00 [khubd]
113 root 0:00 [khungtaskd]
114 root 0:00 [pdflush]
115 root 0:00 [pdflush]
116 root 0:00 [kswapd0]
117 root 0:00 [aio/0]
118 root 0:00 [nfsiod]
119 root 0:00 [xfs_mru_cache]
120 root 0:00 [xfslogd/0]
121 root 0:00 [xfsdatad/0]
122 root 0:00 [xfsconvertd/0]
123 root 0:00 [crypto/0]
570 root 0:01 dropbear -E
571 root 0:00 -sh
619 root 0:00 ps aux
718 root 0:00 [swapper]
721 root 0:00 [mtdblockd]
764 root 0:00 [usbhid_resumer]
772 root 0:00 [rpciod/0]
800 root 0:00 syslogd -l8 -S -C60
924 root 0:00 ifplugd -f -I -d 1
1575 root 0:00 init
1901 root 0:00 udhcpc -R -A 60 -t 5 -b -S -p /var/run/udhcpc.eth0.pid -i eth0 -H Netstream4C-157
1914 root 0:00 telnetd
1922 root 0:00 dropbear -E
1943 root 0:00 ntpd -p 0.openwrt.pool.ntp.org -p ptbtime1.ptb.de -p 0.fr.pool.ntp.org -d
1948 root 0:00 Tombea -i 1
1973 root 0:00 Tombea -i 1
1974 root 0:00 Tombea -i 1
1975 root 0:00 Tombea -i 1
1976 root 0:04 Tombea -i 1
1977 root 3:28 Tombea -i 1
1978 root 0:00 Tombea -i 1
1979 root 0:00 Tombea -i 1
1980 root 0:00 Tombea -i 1
1981 root 0:00 Tombea -i 1
1982 root 0:04 Tombea -i 1
1983 root 0:00 Tombea -i 1
1984 root 0:00 Tombea -i 1
1985 root 0:25 Tombea -i 1
1986 root 0:00 Tombea -i 1
1987 root 0:19 Tombea -i 1
1992 root 0:00 Tombea -i 1

CPU

[ARCLinux]$ cat /proc/cpuinfo

Processor Family: ARC 700, Core ID: 3
CPU speed : 500.00 Mhz
Timers: TIMER1 TIMER0
Interrupt Vect Base: 0xc00
Peripheral Base: 0x0
Data UNCACHED Base (I/O): start 0xc0 Sz, 1024 MB
Bogo MIPS : 249.85
ARC700 MMU Ver [1]
uDTLB 8 entr, uITLB 4 entr, JTLB 128 entry/way, 2 ways
Detected I-cache :
Type=2 way set-assoc, Line length=32, Size=32K (enabled)
Detected D-cache :
Type=4 way set-assoc, Line length=32, Size=32K (enabled)
Extensions:
Multiplier: 32×32 with ANY Result Reg MAC Multiplier: Not Present
CRC Instrn: NA, SWAP Instrn: Present NORM Instrn: Present
Min-Max Instrn: Present, Barrel Shift Rotate Instrn: Present
Ext Arith Instrn: Present
[ARCLinux]$

Memory

[ARCLinux]$ cat /proc/meminfo
MemTotal: 114048 kB
MemFree: 59352 kB
Buffers: 0 kB
Cached: 33096 kB
SwapCached: 0 kB
Active: 11232 kB
Inactive: 24520 kB
Active(anon): 2720 kB
Inactive(anon): 0 kB
Active(file): 8512 kB
Inactive(file): 24520 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 2680 kB
Mapped: 3512 kB
Slab: 7776 kB
SReclaimable: 4760 kB
SUnreclaim: 3016 kB
PageTables: 0 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 57024 kB
Committed_AS: 7760 kB
VmallocTotal: 262144 kB
VmallocUsed: 10952 kB
VmallocChunk: 239160 kB

Disk space

[ARCLinux]$ df -h
Filesystem Size Used Available Use% Mounted on
/dev/mtdblock6 188.5M 1.1M 187.4M 1% /AppFS_0
[ARCLinux]$ mount
rootfs on / type rootfs (rw)
none on /proc type proc (rw,relatime)
none on /dev/pts type devpts (rw,relatime,mode=600)
sysfs on /sys type sysfs (rw,relatime)
/dev/mtdblock6 on /AppFS_0 type yaffs2 (rw,relatime)

minidlna rescan

I’m using minidlna on my server to serve media to the whole house.

It works, but I’ve never gotten it to auto update the media library, even though inotify is enabled.

So far I’ve just logged in on the server and run (I’m using arch linux):
/usr/bin/minidlnad -R && systemctl restart minidlna

This approach sucks for several reasons:
1) I actually need to do something to make it register new content
2) The WAF factor is at an all-time low.

Instead I’ve made this little script, to solve my problems:

#!/bin/bash

#check that minidlna is not being used!
wget http://localhost:8200 -O /tmp/minidlna_index.html 2> /dev/null

isOpen=`grep ‘
-1 connections currently open
‘ /tmp/minidlna_index.html`

if [ -n “$isOpen” ]; then
#minidlna can be updated – if needed

# list files monitored by minidlna
ls -l /mnt/dlnamedia/* > /tmp/minidlna_rescan_dir_list_new

#If you want to force a minidlna rescan on the first run of this script, comment out this if block!
if [ ! -f /tmp/minidlna_rescan_dir_list ]; then
mv /tmp/minidlna_rescan_dir_list_new /tmp/minidlna_rescan_dir_list
#echo “minidlna dir list does not exist.”;
exit;
fi

filesDiff=`diff /tmp/minidlna_rescan_dir_list /tmp/minidlna_rescan_dir_list_new`

if [ -n “$filesDiff” ]; then
#echo “dir lists don’t match – rescan!”
mv /tmp/minidlna_rescan_dir_list_new /tmp/minidlna_rescan_dir_list
/usr/bin/minidlnad -R && systemctl restart minidlna
fi

#else
#echo “minidlna is in use! – skipping rescan”
fi

and I’ve then added this script to crontab:

crontab -e
0,15,30,45 * * * * /root/my_scripts/minidlna_rescan.sh

It runs four times pr. hour.

First it checks if minidlna is in use, if so nothing is done.
Then it checks if some files changed in watched directory, if so, it will restart the minidlna service and force a rescan.

You’ll need to change the /mnt/dlnamedia/ path to match your system (the media directory path(s) in minidlna.conf).
Also, if minidlna runs on a different port then 8200, you’ll need to change that as well.
The path set in crontab (/root/my_scripts/minidlna_rescan.sh) should match the path to where you put this script.

It works quite well for my purpose, though still not the optimal solution. Maybe it will be useful for someone else as well.

New home

So I finally took the time to set up the new (low power) server, and play a little with it.

I initially had planned to use raspberry pi (and I did for a while), but sadly, it turned out to be underpowered for my needs.
It simply ran out of memory, and apache/mysql kept crashing as a result.

I haven’t decided on a theme or style yet for this new home, so it’ll properly change over time.

One thing I really do need to fix asap is my backup scheme, as, for those of you who have followed this site, and/or the one’s I’m hosting, I had a BIG server failure, and sadly none of the disks were salvageable, and what do you know tapes SUCK for backup, if you’re only doing it once in a while.

Thus, I’m moving to a online backup scheme.