GSM modem not attached as ttyUSB on Tomato firmware - linux

Want to connect gsm modem (Huawei E160G) to router ASUS RT-N18U under Advanced Tomato firmware. But dont know what usb device specify in dongle configuration file dongle.conf. Which use Asterisk for connection to modem.
Modem recognized on my laptop with CentOS as three devices in /dev/ttyUSB0-2. But when i plug this modem into router ttyUSB* devices are not recognized.
After attaching, see in /var/log/message
May 27 10:23:00 unknown kern.info kernel: usb 2-2: new high speed USB device using ehci_hcd and address 4
May 27 10:23:00 unknown user.debug hotplug[5829]: Attached USB device 2-2:1.0 [INTERFACE=255/255/255 PRODUCT=12d1/1001/0]
May 27 10:23:00 unknown user.debug hotplug[5835]: Attached USB device 2-2:1.1 [INTERFACE=255/255/255 PRODUCT=12d1/1001/0]
May 27 10:23:00 unknown user.debug hotplug[5836]: Attached USB device 2-2:1.2 [INTERFACE=255/255/255 PRODUCT=12d1/1001/0]
See the new characted device in /dev:
crw-rw-rw- 1 root root 189, 131 May 27 10:23 usbdev2.4
But it is the one and asterisk cant connect to it.
[May 27 07:33:06] WARNING[6233]: chan_dongle.c:235 opentty: tcgetattr() failed for /dev/usbdev2.4: Inappropriate ioctl for device
What the is problem?
I think the drivers are missing. On my laptop, where modem work ok i see in cat /proc/bus/usb/devices Driver=option, but on router output cat /proc/bus/usb/devices show that the Driver=(none) but it is on the
/lib/modules/2.6.36.4brcmarm/kernel/drivers/usb/option.ko

The solution is enable on WAN mode 3g/modem then /dev/ttyUSB devices became available. But i dont want to use internet from 3g modem. I configured 2 WAN interfaces. First use for real WAN (PPPoE) and second for 3g which will be unusable as inet gateway. 3g can be enbale only by manual (see settings in web).
There is the way for have gsm modem available after rebooting or even after shutdown the router.
Thank for all)

Related

Openwrt write to USB serial /dev/ttyACMO

I have an STM32 connected over USB to and OpenWRT Linux device and it appears under /dev/ttyACM0. I have a custom C application that communicates with it. In my C application the device basically is treated like a serial port.
Until now this always worked 100%, I could always read and write, I built a new image for my LIMA module and now suddenly I can no longer write to my STM32 from my C application.
However this works fine and the message is received by the STM: echo -n -e "\x02\x00\x01\x02" > /dev/ttyACM0
When I look in dmesg I do see something funny:
[ 389.334398] usb 1-1.3: new full-speed USB device number 11 using ehci-platform
[ 389.458391] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device
[ 424.476642] cdc_acm 1-1.3:1.0: failed to set dtr/rts
Do you guys know what might be after going wrong? Could some USB package that updated itself have screwed something up?

MC7455 sierra wireless PCI not detected

Good day every body
I use MC7455 module in linux machine connected using PCI
but when i do : lspci , i didnt find it
and also with dmesg , it is not detected
Is this problem related to drivers missing ?
(For those wondering: This question is asking about the Sierra Wireless MC7455 LTE modem module)
Your modem card is a mini-PCI-e card, but that modem does not connect to the PCI bus. The mini-pci-e slot also connects to the USB bus. This modem card connects only to the USB bus, so it will not show up with lspci.
Instead is should show up as a USB device.
I have lots of experience with MC7304, assuming MC7455 works similar.
MC7455 has a miniPCIe interface, I assume your motherboard has such interface because you said the modem is connected. Have you installed SierraWireless driver? If not, Linux doesn't detect the modem. At least that's my case.
If you don't have a miniPCIe interface on the motherboard, you can use a miniPCIe to USB adaptor.
Once the modem is detected, for MC7304 at least, I can find modem in dmesg as well as by lspci.
Check this link: https://techship.com/faq/38/
I had exactly same issue with my Qotom Q355G4, the device was not detected at all. It was fixed by putting adhesive tape over pins #23, 25, 31, 33.

Linux and Primesense

I have for a longer time tried to get my Asus Pro Live sensor to work on Linux, currently Fedora, but I have tried ubuntu 12.04 and Ubuntu 13.10 as well. I have installed openni, openni2 and sensor_master on my computer. Everything compiles, but when I try to run NiViewer, all I get is
Could not open "1d27/0600#3/4": Failed to set USB interface!
The 55-primesense-usb.rules file is present in /etc/udev/rules.d/ and when I type lsusb it says:
Bus 003 Device 004: ID 1d27:0600 ASUS
I have googled for it but cannot find anything helpful. Does anyone have a clue where the problem is?
Some of the output from dmesg:
[55363.811218] usb 3-4: new high-speed USB device number 6 using xhci_hcd
[55363.826016] usb 3-4: New USB device found, idVendor=1d27, idProduct=0600
[55363.826018] usb 3-4: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[55363.826019] usb 3-4: Product: PrimeSense Device
[55363.826021] usb 3-4: Manufacturer: PrimeSense
[55363.826609] usb 3-4: Not enough bandwidth for new device state.
[55363.826614] usb 3-4: can't set config #1, error -28
[56819.384811] usb 3-3: USB disconnect, device number 5
I have tried both usb 2.0 and 3.0 and it works in windows.
/ Erik
The Asus Pro, like any other webcam, needs to reserve USB bandwidth, and this should be adaptive depending on the actual capture resolution and bandwidth, but that is not always the case: many WebCams, like Logitech C910 "preventively" reserve a chunk of USB capacity large enough to prevent other webcams from using it. The UVC driver, which is pervasively used in Linux knows about this under the feared I get a "No space left on device" (-28) error when trying to stream from more than one camera simultaneously., see UVC driver FAQ. This seems to be your issue. Trying to connect the cameras in your system in different USB port configurations can help.

Smart card reader detection on Linux

I have a smart card reader called SK-284. It support two communication methods, RS232 and USB.
In my case only USB is enable. When I connect this device to my Linux laptop, via USB, It wont get detected. I run '$dmesg' command to check on which ttyUSB port it get detected, I got following output,
[ 2321.208330] usb 2-1.2: new full-speed USB device number 7 using ehci_hcd
[ 2321.384628] generic-usb 0003:8203:8288.0003: hiddev0,hidraw1: USB HID v1.10 Device [\xffffffe6\xffffffb7\xffffffb1\xffffffb7\xffffffb1\xffffffe5\xffffff9c\xffffffb3\xffffff9c\xffffffb3\xffffffe5\xffffff88\xffffff9b\xffffff88\xffffff9b\xffffffe8\xffffff87\xffffffaa\xffffff87\xffffffaa\xffffffe6\xffffff8a\xffffff80\xffffff8a\xffffff80\xffffffe6\xffffff9c\xffffffaf\xffffff9c\xffffffaf\xffffffe6\xffffff9c\xffffff89\xffffff9c\xffffff89\xffffffe9\xffffff99\xffffff90\xffffff99\xffffff90\xffffffe5\xffffff85\xffffffac\xffffff85\xffffffac\xffffffe5\xffffff8f\xffffffb8\xffffff8f\xffffffb8 CRT450 USB 1.1] on usb-0000:00:1d.0-1.2/input0
[ 2326.634925] usb 2-1.2: USB disconnect, device number 7
[ 2326.855479] usb 2-1.2: new full-speed USB device number 8 using ehci_hcd
[ 2326.954303] usb 2-1.2: config index 0 descriptor too short (expected 9, got 0)
[ 2326.954310] usb 2-1.2: can't read configurations, error -22
[ 2327.027211] usb 2-1.2: new full-speed USB device number 9 using ehci_hcd
[ 2327.171371] generic-usb 0003:CEA0:2840.0004: hiddev0,hidraw1: USB HID v1.10 Device [\xffffffe6\xffffffb7\xffffffb1\xffffffb7\xffffffb1\xffffffe5\xffffff9c\xffffffb3\xffffff9c\xffffffb3\xffffffe5\xffffff88\xffffff9b\xffffff88\xffffff9b\xffffffe8\xffffff87\xffffffaa\xffffff87\xffffffaa\xffffffe6\xffffff8a\xffffff80\xffffff8a\xffffff80\xffffffe6\xffffff9c\xffffffaf\xffffff9c\xffffffaf\xffffffe6\xffffff9c\xffffff89\xffffff9c\xffffff89\xffffffe9\xffffff99\xffffff90\xffffff99\xffffff90\xffffffe5\xffffff85\xffffffac\xffffff85\xffffffac\xffffffe5\xffffff8f\xffffffb8\xffffff8f\xffffffb8 CRT284 USB 1.1] on usb-0000:00:1d.0-1.2/input0
My laptop specification:
OS: Ubuntu 12.04
Kernel: 3.2.0-54-generic-pae
When I connect same device to Windows 7 and run device manager, It got detected under Human Interface Device (HID). and some test applications are running fine.
My task is to write a small code on Linux to detect the smart card by device.
So where do I get to know on which ttyUSB port is used by this device, or any other method to get connected to this device.
Thanks in advance.
You may try to change some parameter in usbcore module:
echo y > /sys/module/usbcore/parameters/old_scheme_first
and then replug you usb-device.
As it is full-speed device (not hi-speed) you may also do such thing:
rmmod ehci-hcd
insmod uhci-hcd
insmod ohci-hcd
It seems like there is problem in usb communication. Probably on the usb-device side, because usb-host expects 9 bytes but usb-device sends 0 bytes.

USB host and device functionality on SBC 6845 board using kernel modules

I am working on SBC 6845(Atmel processor) in linux embedded development. My kernel version is 2.6.30.
This board comes with 2 USB ports(Both with Type A), one can be configured as host and other as USB device.
I have configured these USB modules in kernel. I have burned kernel and file system with necessary modules including USB modules. I have loaded these USB modules through /init.d/rcS file.
When board turns on and I type lsmod on console it shows me these modules loaded.
When I connect board to computer, USB is not detected (device functionality).
When I connect pendrive to board, it is not detected (host functionality).
/init.d/rcS Script
#install USB Gadgate mass_storage
modprobe g_file_storage file=/home/mass_storage/backed_storage_file stall=n
losetup -o 4096 /dev/loop0 /home/mass_storage/backed_storage_file
#install USB ehci-hcd
modprobe ehci-hcd
rcS running log
g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008
g_file_storage gadget: Number of LUNs=1
g_file_storage gadget-lun0: ro=0, file: /home/mass_storage/backed_storage_file
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
atmel-ehci atmel-ehci: Atmel EHCI UHP HS
atmel-ehci atmel-ehci: new USB bus registered, assigned bus number 1
atmel-ehci atmel-ehci: irq 22, io mem 0x00800000
atmel-ehci atmel-ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Atmel EHCI UHP HS
usb usb1: Manufacturer: Linux 2.6.30 ehci_hcd
usb usb1: SerialNumber: atmel-ehci
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
lsmod output
Module Size Used by Not tainted
ehci_hcd 30132 0
g_file_storage 24260 0
Any help is welcome!
Your drivers seem well installed. I don't have a straight answer but I work with software-hardware integration very often. Here is what I would do to get more clues. That kind of processor often have pins that are multipurposes. Sometimes, on an evaluation board, they are not configured the way we want by default. You can look at the documentation but also, you can use an Oscilloscope and probe the D+ and D- of the USB. Are they OK when in IDLE? What happen when you connect a device on your host port? The first few things will be done by the USB controller and involves little even no interaction with the software after the controller is configured. If you see the beginning of a negociation (a bunch of 0s and 1s) then, you know your hardware is configured properly and your basic driver is installed and work properly. The result of this will narrow the scope of the problem.
You are missing upper layer drivers. EHCI is only an interface driver, you need device drivers on top of it. Board<-->PC communication is usually done via serial over USB, so for this you need USB Serial driver. In Kernel config go to Device Drivers -> USB Support -> USB Serial Converter support and select driver according to the chip on your board/cable.
Here's an example dmesg dump seen when board is connected to the Ubuntu laptop:
[ 3469.923779] usb 2-1.2: new full-speed USB device number 5 using
ehci_hcd
[ 3470.019145] cp210x 2-1.2:1.0: cp210x converter detected
[ 3470.091614] usb 2-1.2: reset full-speed USB device number 5 using
ehci_hcd
[ 3470.184995] usb 2-1.2: cp210x converter now attached to ttyUSB0
I believe similar situation is with pendrive too - upper layer driver is missing.

Resources