I have car diagnostic device ELM327 with usb port connection, but Mint can't recognize it.
Here is the list of devices from terminal:
~ $ lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 09da:000e A4 Tech Co., Ltd
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 7073:3037
Bus 003 Device 002: ID 046d:c215 Logitech, Inc. Extreme 3D Pro
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
That device is listed as "Bus 003 Device 003" and, as you can see, has no description.
Any suggestions? Does it have some further procedure to been recognized by auto-data software? Cant find this solved problem googleing.
Thanks!
I found other people who had the same problem as you by googling: Here and Here (in Polish).
"It says FTDI, manufacturer of the device, has a Linux driver to be able to use this interface as a serial port."
Knowing that you might try the FTDI site. EDIT: The FTDI site says that it is supported natively in kernel 2.6.31 and later. See also the FTDI driver sourceforge project.
Note that none of this tells you what protocol you speak to it.
lsusb merely translates the IDs (provided by the device) into text strings, using /usr/share/usb.ids. That does not say anything about the (un)availability of a driver.
Related
I have one development board attached via USB to my Linux machine. For the sake of debugging I want to monitor the serial port. My problem is that I don't know how understand which serial port should I monitor.
When running lsusb in the terminal, I see
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0461:4e1d Primax Electronics, Ltd
Bus 001 Device 004: ID 0d28:0204 NXP LPC1768
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 046d:c019 Logitech, Inc. Optical Tilt Wheel Mouse
Bus 003 Device 002: ID 03f0:c511 Hewlett-Packard
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The device I am interested in is the NXP LPC1768,so it is "attached" to Bus01, device 04. However, which port should I monitor to read the serial port of that NXP LPC1768 device?
When running dmesg | grep tty, I see
[ 0.000000] console [tty0] enabled
[ 97.204143] cdc_acm 1-1.2:1.1: ttyACM0: USB ACM device
but this still doesn't give me that information I am looking for.
When I used Windows, I would go to the Device manager, Ports tab, see the COM port associated to the device and use software like Putty for monitoring the serial port.
Do you how can I do that in Linux?
I'm sorry if this question has been asked before but I've searched for an hour and still couldn't find the answer..
My problem is that I don't know how understand which serial port should I monitor.
If this "one development board" is recognized as a USB gadget by your Linux PC, then there will be syslog entries.
Disconnect the board, wait 15 seconds, then connect the board.
Use the commands dmesg | tail to review the end of the syslog.
You might get something like this:
$ dmesg | tail
[ 2094.481014] usb 1-1: Product: EDBG CMSIS-DAP
[ 2094.481019] usb 1-1: Manufacturer: Atmel Corp.
[ 2094.481023] usb 1-1: SerialNumber: ATML0000001351195199
[ 2095.033449] hidraw: raw HID events driver (C) Jiri Kosina
[ 2095.038550] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[ 2095.038874] usbcore: registered new interface driver cdc_acm
[ 2095.038877] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 2095.112372] usbcore: registered new interface driver usbhid
[ 2095.112376] usbhid: USB HID core driver
[ 2095.237686] hid-generic 0003:03EB:2111.0001: hiddev0,hidraw0: USB HID v1.11 Device [Atmel Corp. EDBG CMSIS-DAP] on usb-0000:00:1d.7-1/input0
$
The first three lines shown relate to the completion of the low-level USB protocol.
The remaining seven lines are the USB device installation.
It's the fifth line that's salient, as that indicates that the attached board implements the USB CDC (Communications Device Class) ACM (Abstract Control Model) to emulate a serial port.
If the SBC does connect as a serial device (e.g. /dev/ttyACM0 ), then you can use a terminal emulator program, such as minicom or puTTY.
$ minicom --device /dev/ttyACM0
When running dmesg | grep tty, I see
[ 0.000000] console [tty0] enabled
[ 97.204143] cdc_acm 1-1.2:1.1: ttyACM0: USB ACM device
but this still doesn't give me that information I am looking for.
Actually that is the information that you need (assuming this device is for your SBC).
ADDENDUM
When I tried to access it with putty, I got the error message "Unable to open connection Unable to access serial port".
Presumably the device node ttyACM is owned by root and the group dialout:
$ ls -l /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0 Sep 22 15:54 /dev/ttyACM0
Verify that your username belongs to the dialout group (so that you have access to this device).
$ whoami
george
$ grep dialout </etc/group
dialout:x:20:george
If your username is not a member of the dialout group, then use the administrative (or system tool) program of your Linux distro to add your username to dialout. Or see https://unix.stackexchange.com/questions/14354/read-write-to-a-serial-port-without-root or https://askubuntu.com/questions/112568/how-do-i-allow-a-non-default-user-to-use-serial-device-ttyusb0
When I attach removable USB hard disk to my computer, I can distinguish it from others via the name of manufacture and device name. However, I can't exactly know what is the device file in /dev (e.g. sda, sdb, sdc...) corresponding to this USB storage device.
Is there a way to find out the device file according to the output of lsusb?
I always do like this:
If this USB device is the last one to remove/insert, you can get it from 'dmesg'. you can easy to see sdxxx in dmesg print out. that's what your need.
You can know exactly the /dev/path/to/your/device using lsusb.
Sample output:
Bus 002 Device 008: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
According to the previous example, you can locate the char device that corresponds to the Logitech USB receiver ( for wireless mouse and keyboard ) by examining the two numbers before the colon ( : ).
It would be /dev/bus/002/008
Notice the last two numbers ( last directory then the char device file itself ).
They are the same as the first two numbers in the line that says Logitech, Inc. Unifying Receiver.
So the path is always /dev/bus/[first number]/[second number].
I am trying to access laptop's webcam from ubuntu 14.04 LTS.
I did lspci and found VGA compatible controller: Device 1234:1111
Can i assume that the webcam is installed? I was hoping for some device name or description.
I am not getting video0 when i did:
ls /dev/
Quite often, laptop webcams are controlled as USB devices, so you may attempt to search for them with lsusb:
From TLDP.org's Webcam-HOWTO:
5.1. Help, I have a USB webcam and don't know exactly what model it is and/or who the manufacturer is. What do I do?
Use lsusb; it can give you an idea of what other USB devices are available on your system, too:
$ lsusb
Bus 007 Device 001: ID 0000:0000
Bus 006 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 003: ID 0545:8080 Xirlink, Inc. IBM C-It WebCam
Bus 003 Device 002: ID 046d:0840 Logitech, Inc. QuickCam Express
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 003: ID 051d:0002 American Power Conversion Back-UPS Pro 500/1000/1500
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
The numbers after 'ID' are the Vendor and Product numbers, respectively. They can then be looked up in the Linux USB ID catalog. ...
NOTE: MY DEVICE is an xbox 360 kinect device NOT a kinect for windows.
I have tried different linux kernels and different compilations of libfreenect, but no cigar.
The light on the connection cord is solid green, the light on the kinect device blinks green (when its plugged into my running computer).
One pecularity that seemed suspicious is that the udev file designates ATTR{idProduct}=="02b0" to the xbox "Xbox NUI Motor". As one can see in my lsusb file linux is recocnizing the device with an idProduct of "02c2". The device has been purchased about a month ago, so could they have changed the idProduct?? Under this guess I modified my udev rules files restarted udev, no work, then restarted my computer, still no work.
I am compiling libfreenect from github and you can see the output below. I also tried the debian package (0.1.2). Since "Xbox NUI Audio" "Xbox NUI Camera" are detected I feel its not a usb power issue, but I could be wrong.
test program output:
$ ./bin/glview
Kinect camera test
Number of devices found: 1
Could not open device
debug info:
$ dmesg
[ 361.532077] usb 1-4: new high-speed USB device number 2 using ehci_hcd
[ 361.664408] usb 1-4: New USB device found, idVendor=045e, idProduct=02c2
[ 361.664416] usb 1-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 361.664875] hub 1-4:1.0: USB hub found
[ 361.665008] hub 1-4:1.0: 2 ports detected
[ 361.940144] usb 1-4.2: new high-speed USB device number 3 using ehci_hcd
[ 361.972410] hub 1-4:1.0: unable to enumerate USB device on port 2
[ 362.668134] usb 1-4.1: new high-speed USB device number 4 using ehci_hcd
[ 362.762514] usb 1-4.1: New USB device found, idVendor=045e, idProduct=02ad
[ 362.762522] usb 1-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 362.762529] usb 1-4.1: Product: Xbox Kinect Audio, \xffffffc2\xffffffa9\xffffffa9 2011 Microsoft Corporation. All rights reserved.
[ 362.762535] usb 1-4.1: Manufacturer: Microsoft
[ 362.762540] usb 1-4.1: SerialNumber: A70774X04011232A
lsusb debug info:
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 064e:a101 Suyin Corp. Acer CrystalEye Webcam
Bus 005 Device 003: ID 0c45:7403 Microdia
Bus 001 Device 002: ID 045e:02c2 Microsoft Corp.
Bus 001 Device 004: ID 045e:02ad Microsoft Corp. Xbox NUI Audio
Bus 001 Device 006: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
Installed ROS (fuerto/groovy) + PCL and works fine with openni_launch package. I'm using XBOX kinect also. Use RVIZ for visualization!
I'm having a builddroot assembled busybox distribution running on my micro.
It all works well so far but I realized one thing. When I boot my box up and
I do an lsusb I see this:
# lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 003: ID 12d1:14ac Huawei Technologies Co., Ltd.
Bus 001 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x
Composite Device
and I have following links:
ttyUSB0 ttyUSB1 ttyUSB2 ttyUSB3
buyt none of those links seem to go to Device 0004 but if I replug the
CP210x device, I get this:
# lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 003: ID 12d1:14ac Huawei Technologies Co., Ltd.
Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x
Composite Device
and these links:
ttyUSB0 ttyUSB1 ttyUSB2 ttyUSB3 ttyUSB4
and now ttyUSB4 is linking to my Device 005 why do I need to replug my
device in order to get a working symlink? That's not what I want? :(
How can I fix this? The cp210x module is compiled into the kernel (not
attached as a separate module) - any suggestions?
This for some reason just stop happening probably due to the fact that we're only using one usb device now. Inodes would have been a solution but got never implemented in our system.