I want to connect a usb barcode hand scanner to my new Galileo board and I'm having some issues with basic connection - I was wondering if I was missing a basic step somewhere.
Board: Galileo Gen 2
OS: IOTDK (Linux image on microSD)
Scanner Configuration: USB HID (works like a keyboard)
IDE: Eclipse (C++)
Main Machine: Windows 10
When connecting to the board, I see the device under lsusb:
Bus 002 Device 007: ID 0c2e:0921
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0001
However it doesn't show up when I call lsblk and fdisk -l. Calling dmesg retrieves
[ 4941.872465] usb 2-1: USB disconnect, device number 6
[ 4965.400196] usb 2-1: new full-speed USB device number 7 using ohci_hcd
[ 4965.651700] input: Honeywell Imaging & Mobility CCB as /devices/pci0000:00/0000:00:14.4/usb2/2-1/2-1:1.0/input/input10
[ 4965.674801] hid-generic 0003:0C2E:0921.000B: input: USB HID v1.10 Keyboard [Honeywell Imaging & Mobility CCB] on usb-0000:00:14.4-1/input0
[ 4965.791966] hid-generic 0003:0C2E:0921.000C: device has no listeners, quitting
Is there a compatibility issue or am I missing a set of drivers?
Thanks in advance!
Thanks, I'll check into the drivers.
The OS's current build is Linux galileo 3.8.7-yocto-standard # 1 Tue Sep 29 22:16:33 GMT 2015 i586 GNU/Linux
The scanner is currently working with a raspberry pi. I've noticed that on the RPi the directory dev/usb/ is added (within the directory is hiddev0 which is the path to communicate with the scanner), whereas on the Galileo it isn't created.
I'm guessing you want to use the scanner as a UART. In this case you should use ttyUSB0. If you are not able to see ttyUSB0 or ttyUSB1 on /dev try running modprobe ftdi_sio
If after this you still can't see the devices, you will need to add this module to the image, for doing this you will need to https://downloadmirror.intel.com/23197/eng/Quark_BSP_BuildGuide_329687_009.pdf build a new image and enable the driver in with menuconfig.
Take a look at the follow links, you could find them helpful:
http://alextgalileo.altervista.org/blog/reconfiguring-linux-kernel-adding-drivers-galileos-linux-ima... Reconfiguring Linux kernel and adding drivers into Galileo's Linux Image
ttyUSB0 is not coming up, so I have proceeded to build a new image and reconfigure to enable the driver. I'm currently building the full image and will give an update once it's complete.
Take a look at this thread, where "Nizobe" was able to get ttyUSB0 after following the steps from http://alextgalileo.altervista.org/blog/install-kernel-from-repo-onto-edison-official-image/ How to install a kernel from my repo onto Edison with the official image
I've built the basic image, and then started to configure it using bitbake menuconfig. However, I'm having issues with the last bitbake, and I was wondering if you could help me out.
I get the error:
ERROR: Task 3387 (/home/carol/image/BSP/meta-clan/meta/recipes-extended/man/man_1.6g.bb, do_compile) failed with exit code '1'
Looking in the log files I see that during the make call:
make: Entering directory '~/i586-poky-linux/man/1.6g-r1/man-1.6/src'
make: *** No Targets. Stop.
make: Leaving Directory ....
make: *** [source] Error 2
The directory is not empty, but I was wondering what target file the make command is looking for.
cut and paste
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 1 -e MAKEFLAGS=
| cd src; make
| make: Entering directory `/home/carol/image/BSP/meta-clan/yocto_build/tmp/work/i586-poky-linux/man/1.6g-r1/man-1.6g/src'
| make: *** No targets. Stop.
| make: Leaving directory `/home/carol/image/BSP/meta-clan/yocto_build/tmp/work/i586-poky-linux/man/1.6g-r1/man-1.6g/src'
| make: *** [source] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/carol/image/BSP/meta-clan/yocto_build/tmp/work/i586-poky-linux/man/1.6g-r1/temp/log.do_compile.30424)
I would like to know more information about the environment.
Which BSP are you using?
Which OS are you using on your PC? Is it a virtual machine?
Regarding menuconfig, how are you running bitbake? It seems you are using bitbake menuconfig, try with bitbake virtual/kernelconfig -c menuconfig
Did you check the file in /home/carol/image/BSP/meta-clan/yocto_build/tmp/work/i586-poky-linux/man/1.6g-r1/temp/log.do_compile.30424? Could you attach it?
Did you have errors before while building the image?
I got the image to properly build, but I restarted from scratch. Unfortunately the scanner is still giving me the same issue, but I'll outline my steps as there were a couple of hiccups along the way.
I used BSP 1.2 for quark.
I found that the file
oe-init-build-env in repo-ext/poky had only the ttiny image, instead I used the
oe-init-build-env in the main meta-clanton directory.
I couldn't run $
bitbake -c menuconfig linux-yocto-clanton and had to run $
bitbake -c menuconfig linux-yocto-quark instead.
In the configuration I enabled:
Under Device Drivers
- Added /dev/hidraw
Special HID drivers
- Logitech devices
- USB verbose debug
- USB announce new devices
- Generic EHCI drover
- GenericOHCI driver for a platform device
- Microtek X6USB scanner support
I ensured that the linux-yocto-quark layer was called by image-full. and ran $
I needed to rename the files in the tmp/deploy/images directory to match tmp/deploy/image/boot/grub/grub.conf
The image seems like it's properly running though there are a couple of quirks. For instance, the sample Arduino blink program downloads correctly but will not flash the LED.
The image is running Linux quark 3.14.28-ltsi-yocto-standard # 1 Fri Dec 4 13:00:43 EST 2015 i586 GNU/
What else should I try to ensure the barcode scanner is properly read?
Solved the no listeners quitting.
Strangely enough, it didn't seem like running menuconfig was doing anything. I needed to manually edit the configuration file under meta-intel-quark/recipe-kernel/linux/files/quark_3.14.cnf and enabled what I needed.
I have a couple other issues - but I'll put it under a new topic.