Joystick Constant Disconnecting Problems Linux - linux

I'm trying to get a joystick to work but my device is having problems seeing it. I will plug in the joystick, it will show up under /dev/input/ but it will disappear after a few seconds, then reappear, and repeat. Also, I installed the joystick package but js0 never shows up.
When it does show up this is the info I get:
Bus 001 Device 079: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 064: ID 068e:0105 CH Products, Inc.
(This 064 number listed in the last device on this list increments over time since it keeps disconnecting over and over)
root#pc-zed:/dev/input# ls
by-id by-path event0 event1 mice mouse0
root#pc-zed:/dev/input/by-path# ls
platform-xusbps-ehci.0-usb-0:1.2:1.0-event-joystick
platform-xusbps-ehci.0-usb-0:1.2:1.1-event-mouse
platform-xusbps-ehci.0-usb-0:1.2:1.1-mouse
root#pc-zed:/dev/input/by-id# ls
usb-CH_Products_APEM_HF_Joystick-event-joystick
usb-CH_Products_APEM_HF_Joystick-event-mouse
usb-CH_Products_APEM_HF_Joystick-if01-event-mouse
usb-CH_Products_APEM_HF_Joystick-if01-mouse
usb-CH_Products_APEM_HF_Joystick-mouse
The piece of hardware I'm running this on is a ZedBoard with a 3.12.0-xillinux-1.3 kernel
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
I've tried this with a USB hub to ensure this isn't a power issue.
If anyone has any ideas please let me know! Thank you.

Related

Android devices connected to USB on Ubuntu will not load [closed]

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 3 years ago.
Improve this question
I am using Ubuntu 18.04, and
I am trying to create Android apply using Android-studio.
For that purpose, we are going to connect the Android machine to the PC and debug it.
I connected the Android machine to the PC using USB, but the Android machine was not loaded.
At first it thought that it was caused by not adding a rule to udev.
Fortunately, since my Android machine was HTC, we added a rule toudev with reference to the official documentation.
However, it was still not loaded.
I checked lsusb, but the Android machine information such as the vendor ID was not loaded.
The following is the execution result of lsusb.
$ lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 0bda:b002 Realtek Semiconductor Corp.
Bus 002 Device 002: ID 056e:00e3 Elecom Co., Ltd
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
From the developer mode on Android real machine, USB debugging is enabled, USB configuration is MTP.
I think that the cable is the cause of such a problem.
However, trying with multiple USB cables did not solve the problem.
Therefore, I think that there is a cause in Ubuntu's system.
I would like to inform you that you can identify the cause of this problem in more detail and need to investigate further.
Solution
This problem is solved.
The reason was that I was using USB-C cable.
I used a cable for charging.
I could connect successfully when I bought a new cable.
Below is the URL in amazon.
https://www.amazon.co.jp/dp/B0791FBQ83/ref=cm_sw_r_tw_dp_U_x_X5IHCb2V1KVZB
Thank you for answering.
Please check your ADB driver if you not install, first install it.
https://www.howtogeek.com/125769/how-to-install-and-use-abd-the-android-debug-bridge-utility/
And if that does not work, you can try running:
sudo apt-get update
sudo apt-get install dconf-editor
make sure you're using root and run this commands on your terminal
adb kill-server
adb start-server
check if daemon was successfully then write this:
adb devices
It should show list of device attached to your system.

Linux, wierd issues with camera on Debian system

So, I made some high speed opencv camera detection code, got it running on my debian labtop, and bought some 720p60 chinese usb cam. All worked well. However I wanted to make it run on my TinkerBoard S (tinkerOS - debian).
Here the camera simply refused to get detected, as my lsusb output hinted (also tried guvcview & cheese, none worked):
Bus 001 Device 006: ID 05a3:9230 ARC International
Bus 001 Device 004: ID 1ea7:2001 *this is where i suspect the cam should be*
Bus 001 Device 005: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0bda:481a Realtek Semiconductor Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
However I think I found the issue, just dont know the solution. When running dmesg, I found the following entries:
[ 94.277615] usb 1-1.4: new high-speed USB device number 6 using dwc2
[ 94.450592] usb 1-1.4: New USB device found, idVendor=05a3, idProduct=9230
[ 94.450611] usb 1-1.4: New USB device strings: Mfr=2, Product=1,
SerialNumber=0
[ 94.450625] usb 1-1.4: Product: USB 2.0 Camera
[ 94.450637] usb 1-1.4: Manufacturer: HD Camera Manufacturer
[ 94.454526] uvcvideo: Found UVC 1.00 device USB 2.0 Camera (05a3:9230)
[ 94.496335] uvcvideo: auto-suspend is blacklisted for this device
EDIT: both outputs are from the tinker Board.
Sounds like whatever driver is installed on your laptop doesn't exisit on the TinkerOS board. Going by the second code block, this line looks like the camera:
Bus 001 Device 006: ID 05a3:9230 ARC International
It would be useful to have a comparison from the laptop to see what's different.
Maybe try these answers to obtain the driver (on the laptop with the webcam connected). Be sure to use the same physical ports when changing stuff over, to avoid numbers changing and causing confusion.
Searching the vendor / product code (05a3:9230) on google brings up some related results aswell although nothing I found to be conclusive.
Dead thread but still feel I should provide the solution.
Turns out that despite the cam being the only one connected, it was somewhere all the way at /dev/video4
whatever be the reason...

NFC-list No Device Found (ER301 EUhoyan)

I'm trying to figure out how to use a chinese RFID/NFC device (Euhoyan ER301) on my Kali Linux.
I have installed the libnfc and all the dependencies. But executing the command "NFC-LIST" theres no devices found.
Executing lsusb I can see the device:
"Bus 003 Device 012: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light"
Apparently the driver CP210x is installed too.
I'm not quite sure if it is the good way to communicate with the device and if it is compatible with the libnfc.
Does someone has more experience about this devices?
Thanks in advance.

Linux - port associated to a device

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

How can I find the device file in `/dev` via bus number and device number listed by `lsusb`?

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].

Resources