29 May 2014

579. TEMPerHum (0c45:7402 ) on debian linux wheezy

Yet another little usb device from PC sensors (I seem to have been giving them a fair amount of money recently ).

This is the device in question: http://pcsensor.com/index.php?_a=product&product_id=178 (note that I buy my devices via ebay where the prices are apparently always the campaign ones -- I paid AUD25 , not USD80)

It didn't come in a box so I have no scans or shots to show.

[See here for the regular TEMPer USB device (0c45:7401), and here for the TEMPer 1K4  (0c45:7403) USB thermocouple reader. Note that since the temper-usb code is in  a lot of flux you can't use the line numbers in those posts directly -- you'll have to read and understand the code before pasting it in. Luckily, it's quite simple -- even I managed to sort it out!]

I couldn't get temper-usb to work even when making (what I consider) the necessary edits, but instead got lots of errors (including " usb.USBError: could not detach kernel driver from interface 1: No data available"). So I finally gave up.

Instead, web searching led me to http://edorfaus.wordpress.com/2012/07/02/new-library-examples-and-features/ -- one of the replies by eg1l spelled out the solution -- I'll grant myself the liberty to repost it here, but please remember where it originally came from and link to the original article (exclusively or in addition).

mkdir ~/tmp
cd ~/tmp/
sudo apt-get install libudev-dev libusb-1.0.0-dev libfox-1.6-dev autoconf cmake

git clone git://github.com/signal11/hidapi.git
cd hidapi/
cd libusb/
sudo make install

cd ../../

git clone git://github.com/edorfaus/TEMPered.git
cd TEMPered/
mkdir build
cd build/
cmake ..
cd utils/
sudo ./tempered 
cd ../
sudo make install

sudo ln -s /usr/local/lib/x86_64-linux-gnu/libtempered.so.0 /usr/local/lib/libtempered.so.0
sudo ln -s /usr/local/lib/x86_64-linux-gnu/libtempered-util.so.0 /usr/local/lib/libtempered-util.so.0
sudo ldconfig

sudo tempered
0006:000e:01 0: temperature 21.75 °C, relative humidity 49.1%, dew point 10.6 °C

Create an 80-temper.rules file in /etc/udev/rules.d:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="7401", GROUP="users", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="7402", GROUP="users", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="7403", GROUP="users", MODE="0666"

Then do
sudo usermod -a -G users $USER

sudo service udev restart

Unplug and re-plug your device, then open a new terminal and you're set (type group to make sure that users show up).

me@boron:~$ tempered
0006:000f:01 0: temperature 23.34 °C, relative humidity 46.8%, dew point 11.3 °C

20 May 2014

578. More Gnome issues -- semi-rant

I was able to get on with work in spite of transitioning to gnome 3 -- but only thanks to the frippery extensions:

And then gnome-screenshot got crippled, but I managed to cope with that by patching it:

I'm using debian testing (jessie) on my laptop and since I normally don't do much on it other than occasionally log into work to check on jobs I have been able to ignore the issues that are so apparent in gnome 3.12, two of which are:

*  gnome-terminal doesn't have a transparent background option since ersion 3.8 -- instead of being able to read what's underneath (e.g. a blog post with a how-to), and thus making good use of the screen real estate, my laptop screen is now feeling very, very small.

[And the developer seems to have the usual gnome attitude issue: https://bugzilla.gnome.org/show_bug.cgi?id=698544 ]

gnome-terminal 3.12
 There's basically nothing that has forced me to stay with gnome-terminal, so switching terminals was a simple matter of installing xfce4-terminal instead, which looks pretty much like gnome-terminal used to. Besides, I use guake more of the time anyway.


 * you can't resize 'native' gnome programs, such as nautilus, that are in full-screen mode. Well, you can -- by holiding super (i.e. windows button) + down arrow. But the icons in the top right corner are no longer, and I find that incredibly annoying.
Nautilus. Nautilus shows when dropbox is synced -- thunar doesn't.

Thunar -- like nautilus of days gone by
 There are two things that I need from nautilus (other than working as a filemanager, of course, and allowing me to open terminals where I want which is something thunar supports 'out of the box') -- the ability to batch resize images, and dropbox. Now, dropbox has nothing to do with nautilus and the dropbox server will run happily in the background whether you're using a file manager or not. It would be nice if thunar would show whether the dropbox folder is synced or not, but it's hardly crucial.

Image resizing is a different matter since we maintain our own little website with personal photos for overseas members of our families. Ergo, it's crucial.

Luckily, this is pretty easy:
sudo apt-get install simple-image-reducer

Go to Edit/Configure custom actions... and set command to simple-image-reducer %F, and scope to apply to images, as shown in the screenshots.

I'm sure there are lots of other small issues in gnome 3.12 that I either keep missing or wilfully ignore in the interest of maintaining a low blood pressure. The whole idea of removing features that are actually useful with no way of re-enabling them smacks of 'we know better than you', and that irks me.

15 May 2014

577. Skype and webcam on debian wheezy: black screen

This is another shameless re-posting of a solution published by others. See e.g. 

Why am I doing this? Mostly because this blog doubles as a notebook where I can write down solutions that worked for me so that I don't find myself scouring the internet over and over again for the same solution.

I hope that I'm adding a bit of value by providing step-by-step solutions and snazzy screenshots though.

The issue:
even though the camera is working fine there's only a completely black picture in skype (not underexposed -- just plain black):

The solution:
Use LD_PRELOAD to load the 32 bit V4L library (which you need to have installed -- use apt-file to find out what package). You can either start skype from the command line, or make changes to the launcher, either via main menu  as shown in the screenshot or by editing ~/.local/share/applications/skype.desktop i.e. run skype with 
env LD_PRELOAD="/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so" skype

 At this point starting skype + webcam should be a happy marriage:
(aside from exposure, white balance etc. etc.)