BlinkyTape not identifying as TTY device on Linux
Hello friends (especially Ethan and Matt)! I've been happily using my BlinkyTape for some time now, connected to a raspberry pi. I wrote new firmware for it that stores several patterns on the tape, and sending a serial command over the USB TTY connection triggers the selected pattern to play.
This is all part of a more epic home automation/intelligent assistant project, but I'll fill you all in on the details of that later. Anyways, I recently moved the system from a Raspberry Pi to an UDOO (http://shop.udoo.org/usa/product/udoo-quad.html) board running Ubuntu. When I plug the BlinkyTape into the UDOO, it's clearly detected (see dmsg output below), but it appears to be detected as an HID instead of a USB Serial device. This is odd, because when I plug it into a Windows machine, or a raspberry pi (running raspbian) it correctly identifies as USB serial and I can send it serial commands. Since it isn't detected as a USB serial device, a /dev/tty* device is not associated with it, and I can't send serial commands. Do you have any idea why this might be happening!? Thanks!
dmsg Output:
[ 188.417822] usb 2-1.2: new full speed USB device number 11 using fsl-ehci
[ 188.538518] input: Arduino LLC Arduino Leonardo as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.2/2-1.2:1.2/input/input4
[ 188.541804] generic-usb 0003:2341:8036.0007: input,hidraw0: USB HID v1.01 Mouse [Arduino LLC Arduino Leonardo] on usb-fsl-ehci.1-1.2/input2
-Jeremy
This is all part of a more epic home automation/intelligent assistant project, but I'll fill you all in on the details of that later. Anyways, I recently moved the system from a Raspberry Pi to an UDOO (http://shop.udoo.org/usa/product/udoo-quad.html) board running Ubuntu. When I plug the BlinkyTape into the UDOO, it's clearly detected (see dmsg output below), but it appears to be detected as an HID instead of a USB Serial device. This is odd, because when I plug it into a Windows machine, or a raspberry pi (running raspbian) it correctly identifies as USB serial and I can send it serial commands. Since it isn't detected as a USB serial device, a /dev/tty* device is not associated with it, and I can't send serial commands. Do you have any idea why this might be happening!? Thanks!
dmsg Output:
[ 188.417822] usb 2-1.2: new full speed USB device number 11 using fsl-ehci
[ 188.538518] input: Arduino LLC Arduino Leonardo as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.2/2-1.2:1.2/input/input4
[ 188.541804] generic-usb 0003:2341:8036.0007: input,hidraw0: USB HID v1.01 Mouse [Arduino LLC Arduino Leonardo] on usb-fsl-ehci.1-1.2/input2
-Jeremy
Comments
The HID part is reasonable, it should show up as a USB composite device with both a HID and CDC ACM device (the same as the Leonardo).
Does an Arduino Leonardo (or other Atmega32u4 based device) work on this machine? If the BlinkyTape is working correctly on other systems, my guess would be that the UDOO doesn't have the CDC ACM driver compiled correctly.
Cheers,
Matt
http://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=http://www.novo-online.de/blog/2014/01/24/busware-cc1101-usb-lite-cul-stick-am-udoo-betreiben/&edit-text=&act=url
sudo apt-get install build-essential git libncurses5-dev
git clone https://github.com/UDOOboard/U-Boot_Unico-2013.git
cd U-Boot_Unico-2013/
make -j5 tools
sudo cp tools/mkimage /usr/local/bin
cd /usr/src/
sudo git clone https://github.com/UDOOboard/Kernel_Unico kernel
cd kernel
sudo make ARCH=arm UDOO_defconfig
sudo make ARCH=arm menuconfig
Device Drivers —> USB support –> USB Modem (CDC ACM) support -> Then Exit and Save when asked.
sudo make
sudo make modules_install
sudo make install
sudo make -j5 uImage
sudo mv /boot/uImage /boot/uImage_backup
sudo cp arch/arm/boot/uImage /boot/
sudo reboot
modprobe cdc_acm
sudo vim /etc/modules
add "cdc_acm" no quotes.
sudo usermod -a -G dialout ubuntu
logout and back in
I'm having a similar problem on RHEL 6. The BlinkyTape is recognised by RHEL when it's plugged in, but doesn't create a TTY device:
Aug 21 08:48:46 A082541 kernel: usb 5-1: new full speed USB device number 7 using uhci_hcd
Aug 21 08:48:46 A082541 kernel: usb 5-1: New USB device found, idVendor=1d50, idProduct=605e
Aug 21 08:48:46 A082541 kernel: usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Aug 21 08:48:46 A082541 kernel: usb 5-1: Product: BlinkyTape
Aug 21 08:48:46 A082541 kernel: usb 5-1: Manufacturer: Blinkinlabs
Aug 21 08:48:46 A082541 kernel: usb 5-1: configuration #1 chosen from 1 choice
Aug 21 08:48:46 A082541 kernel: input: Blinkinlabs BlinkyTape as /devices/pci0000:00/0000:00:1a.2/usb5/5-1/5-1:1.2/input/input15
Aug 21 08:48:46 A082541 kernel: generic-usb 0003:1D50:605E.0008: input,hidraw0: USB HID v1.01 Mouse [Blinkinlabs BlinkyTape ] on usb-0000:00:1a.2-1/input2
According to Red Hat, the CDC-ACM driver stack is included in the kernel from 2.6.31 and I'm on 2.6.32 so that shouldn't be the issue. Any ideas?
Thanx - Mark
Hmm - this looks a bit tricky. I see a forum page where there's some discussion about RHEL and Arduino Leonard, which is very similar to our board here: http://forum.arduino.cc/index.php/topic,151276.0.html and there's also some buzz about an rxtx package update problem on RHEL...
Several of the suggestions on that forum page seem pretty good (apparently it may be blacklisted, or one user suggests trying to manually create the ACM port) but I'm not sure it worked for that user.
Sorry I don't have a guaranteed answer for you (not many users on RHEL) but please let us know what you find.
Thanks for the response.
I made a little more progress on the issue after I posted yesterday. I found that the CDC-ACM driver stack wasn't loaded. I loaded it with modprobe but that didn't help. The tty device still wasn't created when the BlinkyTape was plugged in. So then I tried a different machine (RHEL 7). That worked straight away without any additional intervention!?! So, I think the issue may be specific to my RHEL 6 machine rather than some generic in RHEL 6.
For now I think I'll stick with RHEL 7 (or, better still, my Raspberry Pi :-).
Thanx - Mark
I have been trying to get a laser sensor working on UDOO, i dont know why but my UDOO is not creating a device node /dev/ttyUSB* for it. I have compiled the kernel with cdc_acm support enabled, have tried loading the usbserial module again and again but to no avail. I am running ubuntu 13.04 on my UDOO, as ROS has support for ubuntu raring only at the moment. What do i do guys? .. please help
If that doesn't do it, look through sciguy's instructions and make sure that you've done the equivalent of each (i.e. making sure you're building the modules, modprobing them and setting them up to auto-load, etc.)
Unfortunately we don't have a Udoo here for testing, so we're very interested to hear about what happens - keep us posted.
I recently reimaged my UDOO with the latest UDOObuntu release. The kernel now includes CDC ACM support by default. You'll still need to run "sudo usermod -a -G dialout ubuntu". Then logout and back in. But that's it!