Activation Codes and Methods, Hardware Details, Sniffing
Post Reply
Killertechno
Posts: 5
Joined: 06 Feb 2014, 11:33

Huawei E1820: switched but no ttyUSB found

Post by Killertechno » 29 Sep 2014, 12:04

Hi to all,

I've installed usb-modeswitch and usb-modeswitch-data.
Modem is Huawei E1820.

It seems usm-modeswitch correctly switches modem:

Code: Select all

root@acqua:~# lsusb
Bus 001 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@acqua:~#
But no ttyUSBx or ttyACMx new devices found.

I tested it on Ubuntu, I see

ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem

and ttyUSBx correctly shown.
I'm working on kernel 3.10 on Debian Wheezy.
Any ideas?
Thanks.

By the way: if I see target ID 12d1:1001, why in device reference file it's set to Huawei E1550 but logs showing E169/E620/E800 HSDPA Modem?
Maybe this is the problem?

Here logs: first using MT833UP as test (ttyACMx added), then my Huawey:

Code: Select all

Jan  1 03:21:47 acqua kernel: usb 1-1: new high-speed USB device number 3 using atmel-ehci
Jan  1 03:21:47 acqua kernel: usb 1-1: New USB device found, idVendor=1ee8, idProduct=0014
Jan  1 03:21:47 acqua kernel: usb 1-1: New USB device strings: Mfr=2, Product=1, SerialNumber=3
Jan  1 03:21:47 acqua kernel: usb 1-1: Product: MT833UP
Jan  1 03:21:47 acqua kernel: usb 1-1: Manufacturer: Onda
Jan  1 03:21:47 acqua kernel: usb 1-1: SerialNumber: B1455A9C34F00C7D444944373B90DB98821A77A1
Jan  1 03:21:47 acqua kernel: cdc_acm 1-1:1.0: ttyACM0: USB ACM device
Jan  1 03:21:47 acqua kernel: cdc_acm 1-1:1.2: ttyACM1: USB ACM device
Jan  1 03:35:17 acqua kernel: usb 1-1: USB disconnect, device number 3
Jan  1 03:35:34 acqua kernel: usb 1-1: new high-speed USB device number 4 using atmel-ehci
Jan  1 03:35:34 acqua kernel: usb 1-1: New USB device found, idVendor=12d1, idProduct=1001
Jan  1 03:35:34 acqua kernel: usb 1-1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
Jan  1 03:35:34 acqua kernel: usb 1-1: Product: HUAWEI Mobile
Jan  1 03:35:34 acqua kernel: usb 1-1: Manufacturer: Huawei Technologies
Jan  1 03:35:34 acqua kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
Jan  1 03:35:34 acqua kernel: usb-storage 1-1:1.1: USB Mass Storage device detected
Jan  1 03:35:34 acqua kernel: usb-storage 1-1:1.2: USB Mass Storage device detected

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei E1820: switched but no ttyUSB found

Post by LOM » 29 Sep 2014, 13:24

Killertechno wrote:Hi to all,

I've installed usb-modeswitch and usb-modeswitch-data.
Modem is Huawei E1820.

It seems usm-modeswitch correctly switches modem:
I cant see it switching at all, which usbmodeswitch version do you use?
Killertechno wrote: By the way: if I see target ID 12d1:1001, why in device reference file it's set to Huawei E1550 but logs showing E169/E620/E800 HSDPA Modem?
Maybe this is the problem?
12d1:1001 is an id used by many devices, it is not possible to keep track of and list all of them in the device reference file.
It is only descriptive and not used for dongle type detection, detection is done by usb id.

Code: Select all

Jan  1 03:35:34 acqua kernel: usb 1-1: new high-speed USB device number 4 using atmel-ehci
Jan  1 03:35:34 acqua kernel: usb 1-1: New USB device found, idVendor=12d1, idProduct=1001
Jan  1 03:35:34 acqua kernel: usb 1-1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
Jan  1 03:35:34 acqua kernel: usb 1-1: Product: HUAWEI Mobile
Jan  1 03:35:34 acqua kernel: usb 1-1: Manufacturer: Huawei Technologies
Jan  1 03:35:34 acqua kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
Jan  1 03:35:34 acqua kernel: usb-storage 1-1:1.1: USB Mass Storage device detected
Jan  1 03:35:34 acqua kernel: usb-storage 1-1:1.2: USB Mass Storage device detected
There is something wrong with the driver assignment above , 12d1:1001 does not have 3 interfaces of usb-storage type and no serial interfaces.
Paste an output from lsusb -v -d 12d1:1001 in your next post.

Killertechno
Posts: 5
Joined: 06 Feb 2014, 11:33

Re: Huawei E1820: switched but no ttyUSB found

Post by Killertechno » 29 Sep 2014, 15:05

Code: Select all

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 1.2.3 (C) Josua Dietze 2012
 * Based on libusb0 (0.1.12 and above)

Sorry, maybe I've made confusion with logs:


Code: Select all

Jan  1 01:02:58 acqua kernel: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
Jan  1 01:02:58 acqua kernel: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jan  1 01:02:58 acqua kernel: usb usb1: Product: EHCI Host Controller
Jan  1 01:02:58 acqua kernel: usb usb1: Manufacturer: Linux 3.10.0 ehci_hcd
Jan  1 01:02:58 acqua kernel: usb usb1: SerialNumber: 700000.ehci
Jan  1 01:02:58 acqua kernel: hub 1-0:1.0: USB hub found
Jan  1 01:02:58 acqua kernel: hub 1-0:1.0: 3 ports detected
Jan  1 01:02:58 acqua kernel: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Jan  1 01:02:58 acqua kernel: usbcore: registered new interface driver cdc_acm
Jan  1 01:02:58 acqua kernel: cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Jan  1 01:02:58 acqua kernel: usbcore: registered new interface driver usb-storage
Jan  1 01:02:58 acqua kernel: usbcore: registered new interface driver usbserial
Jan  1 01:02:58 acqua kernel: usbcore: registered new interface driver usbserial_generic
Jan  1 01:02:58 acqua kernel: usbserial: USB Serial support registered for generic
Jan  1 01:02:58 acqua kernel: usbcore: registered new interface driver ftdi_sio
Jan  1 01:02:58 acqua kernel: usbserial: USB Serial support registered for FTDI USB Serial Device
Jan  1 01:02:58 acqua kernel: usbcore: registered new interface driver pl2303
Jan  1 01:02:58 acqua kernel: usbserial: USB Serial support registered for pl2303
Jan  1 01:02:58 acqua kernel: atmel_usba_udc 500000.gadget: MMIO registers at 0xf8030000 mapped at d0868000
Jan  1 01:02:58 acqua kernel: atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at d0e00000
Jan  1 01:02:58 acqua kernel: at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
Jan  1 01:02:58 acqua kernel: at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
Jan  1 01:02:58 acqua kernel: i2c /dev entries driver
Jan  1 01:02:58 acqua kernel: leds-gpio leds.5: pins are not configured from the driver
Jan  1 01:02:58 acqua kernel: ledtrig-cpu: registered to indicate activity on CPUs
Jan  1 01:02:58 acqua kernel: atmel_aes f8038000.aes: version: 0x135
Jan  1 01:02:58 acqua kernel: atmel_aes f8038000.aes: Atmel AES - Using dma1chan0, dma1chan1 for DMA transfers
Jan  1 01:02:58 acqua kernel: atmel_tdes f803c000.tdes: version: 0x701
Jan  1 01:02:58 acqua kernel: atmel_tdes f803c000.tdes: using dma1chan2, dma1chan3 for DMA transfers
Jan  1 01:02:58 acqua kernel: atmel_tdes f803c000.tdes: Atmel DES/TDES
Jan  1 01:02:58 acqua kernel: atmel_sha f8034000.sha: version: 0x410
Jan  1 01:02:58 acqua kernel: atmel_sha f8034000.sha: using dma1chan4 for DMA transfers
Jan  1 01:02:58 acqua kernel: atmel_sha f8034000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512
Jan  1 01:02:58 acqua kernel: usbcore: registered new interface driver usbhid
Jan  1 01:02:58 acqua kernel: usbhid: USB HID core driver
Jan  1 01:02:58 acqua kernel: iio iio:device0: Resolution used: 12 bits
Jan  1 01:02:58 acqua kernel: iio iio:device0: ADC Touch screen is disabled.
Jan  1 01:02:58 acqua kernel: TCP: cubic registered
Jan  1 01:02:58 acqua kernel: NET: Registered protocol family 10
Jan  1 01:02:58 acqua kernel: sit: IPv6 over IPv4 tunneling driver
Jan  1 01:02:58 acqua kernel: NET: Registered protocol family 17
Jan  1 01:02:58 acqua kernel: can: controller area network core (rev 20120528 abi 9)
Jan  1 01:02:58 acqua kernel: NET: Registered protocol family 29
Jan  1 01:02:58 acqua kernel: can: raw protocol (rev 20120528)
Jan  1 01:02:58 acqua kernel: can: broadcast manager protocol (rev 20120528 t)
Jan  1 01:02:58 acqua kernel: can: netlink gateway (rev 20130117) max_hops=1
Jan  1 01:02:58 acqua kernel: VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
Jan  1 01:02:58 acqua kernel: at91_rtc fffffeb0.rtc: setting system clock to 2007-01-01 00:02:41 UTC (1167609761)
Jan  1 01:02:58 acqua kernel: atmel_mci f0000000.mmc: version: 0x505
Jan  1 01:02:58 acqua kernel: atmel_mci f0000000.mmc: using dma0chan2 for DMA transfers
Jan  1 01:02:58 acqua kernel: atmel_mci f0000000.mmc: Atmel MCI controller at 0xf0000000 irq 17, 1 slots
Jan  1 01:02:58 acqua kernel: ALSA device list:
Jan  1 01:02:58 acqua kernel:  No soundcards found.
Jan  1 01:02:58 acqua kernel: Waiting 1sec before mounting root device...
Jan  1 01:02:58 acqua kernel: mmc0: host does not support reading read-only switch. assuming write-enable.
Jan  1 01:02:58 acqua kernel: mmc0: new high speed SDHC card at address 59b4
Jan  1 01:02:58 acqua kernel: usb 1-1: new high-speed USB device number 2 using atmel-ehci
Jan  1 01:02:58 acqua kernel: mmcblk0: mmc0:59b4 00000 3.67 GiB
Jan  1 01:02:58 acqua kernel: mmcblk0: p1 p2 p3
Jan  1 01:02:58 acqua kernel: usb 1-1: New USB device found, idVendor=12d1, idProduct=1003
Jan  1 01:02:58 acqua kernel: usb 1-1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
Jan  1 01:02:58 acqua kernel: usb 1-1: Product: HUAWEI Mobile
Jan  1 01:02:58 acqua kernel: usb 1-1: Manufacturer: Huawei Technologies
Jan  1 01:02:58 acqua kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
Jan  1 01:02:58 acqua kernel: usb-storage 1-1:1.1: USB Mass Storage device detected
Jan  1 01:02:58 acqua kernel: usb-storage 1-1:1.2: USB Mass Storage device detected
Jan  1 01:02:58 acqua kernel: scsi2 : usb-storage 1-1:1.2
Jan  1 01:02:58 acqua kernel: usb-storage 1-1:1.3: USB Mass Storage device detected
Jan  1 01:02:58 acqua kernel: scsi3 : usb-storage 1-1:1.3
Jan  1 01:02:58 acqua kernel: EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
Jan  1 01:02:58 acqua kernel: VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
Jan  1 01:02:58 acqua kernel: devtmpfs: mounted
Jan  1 01:02:58 acqua kernel: Freeing unused kernel memory: 164K (c0505000 - c052e000)
Jan  1 01:02:58 acqua kernel: scsi 2:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
Jan  1 01:02:58 acqua kernel: scsi 3:0:0:0: Direct-Access     HUAWEI   TF CARD Storage       PQ: 0 ANSI: 2
Jan  1 01:02:58 acqua kernel: sd 3:0:0:0: [sda] Attached SCSI removable disk
Jan  1 01:02:58 acqua kernel: EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Jan  1 01:02:58 acqua kernel: ttyS0: 1 input overrun(s)
Jan  1 01:02:58 acqua kernel: EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Jan  1 01:02:58 acqua kernel: FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Jan  1 01:02:58 acqua kernel: ttyS0: 2 input overrun(s)
Jan  1 01:02:58 acqua kernel: EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
Jan  1 01:02:58 acqua kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Jan  1 01:02:58 acqua kernel: ttyS0: 3 input overrun(s)
Jan  1 01:02:58 acqua kernel: macb f802c000.ethernet eth0: link up (100/Full)
Jan  1 01:02:58 acqua kernel: IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

Here lsusb output (I don't know what have I modified, before I got 1001 code.

Code: Select all

Bus 001 Device 002: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Here modeswitch log:

Code: Select all

USB_ModeSwitch log from Mon Jan  01 03:51:48 CET 2007

Raw args from udev: /1-1:1.0

Using global config file: /etc/usb_modeswitch.conf
Using top device dir /sys/bus/usb/devices/1-1
----------------
USB values from sysfs:
  manufacturer  Huawei Technologies
  product       HUAWEI Mobile
  serial
----------------
bNumConfigurations is 1 - don't check for active configuration
Found packed config collection /usr/share/usb_modeswitch/configPack.tar.gz
SCSI attributes not needed, moving on
checking config: pack/12d1:1446
! matched. Reading config data
Extracting config 12d1:1446 from collection /usr/share/usb_modeswitch/configPack.tar.gz
config: TargetVendor set to 12d1
config: TargetProductList set to 1001,1406,140b,140c,1412,141b,1432,1433,1436,14ac,1506,1511
Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1

Command to be run:
usb_modeswitch -I -W -D -s 20 -u -1 -b 1 -g 5 -v 12d1 -p 1446 -f $configBuffer

Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are to be expected in the process)
--------------------------------

Reading long config from command line

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 1.2.3 (C) Josua Dietze 2012
 * Based on libusb0 (0.1.12 and above)

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x12d1
DefaultProduct= 0x1446
TargetVendor=   0x12d1
TargetProduct=  not set
TargetClass=    not set
TargetProductList="1001,1406,140b,140c,1412,141b,1432,1433,1436,14ac,1506,1511"

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint=  not set
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
NeedResponse=0
ResponseEndpoint= not set

InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode enabled


Use given bus/device number: 001/005 ...
Looking for default devices ...
 bus/device number matched
  searching devices, found USB ID 12d1:1446
   found matching vendor ID
   found matching product ID
   adding device
 Found device in default mode, class or configuration (1)
Skipping the check for the current configuration
Using first interface: 0x00
Using endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)
-------------------------
Manufacturer: Huawei Technologies
     Product: HUAWEI Mobile
  Serial No.: not provided
-------------------------
Looking for active driver ...
 OK, driver found ("usb-storage")
 OK, driver "usb-storage" detached
Setting up communication with interface 0
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
 OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
 Device is gone, skipping any further commands
Bus/dev search active, referring success check to wrapper. Bye.

ok:busdev
--------------------------------
(end of usb_modeswitch output)

Checking success of mode switch for max. 20 seconds ...
 Waiting for device file system (1 sec.) ...
 Waiting for device file system (2 sec.) ...
 Waiting for device file system (3 sec.) ...
 Waiting for device file system (4 sec.) ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...
 Reading attributes ...

Target config not matching - current values are
    1-1:1.0/bInterfaceClass:   ff
    bConfigurationValue:       1
    bNumConfigurations:        1
    busnum:                    1
    devnum:                    6
    idProduct:                 1003
    idVendor:                  12d1
    manufacturer:              Huawei Technologies
    product:                   HUAWEI Mobile
    serial:

Mode switching may have failed. Exiting

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei E1820: switched but no ttyUSB found

Post by LOM » 29 Sep 2014, 17:08

Your dmesg is still strange with 3 usb-storage interfaces, it may be a buggy usb roothub driver causing that.

usb_modeswitch has got it right though, it finds 12d1:1446 which is the correct usb id for the dongle when it is in default mode (virtual cd-rom for Windows driver install) and it switches it into 12d1:1003.
You are using a very old version of usb_modeswitch where 12d1:1003 is not included in the target list so usb_modeswitch thinks switching has failed. It does however tell that it found 12d1:1003 with "bInterfaceClass: ff" which is the class for a Huawei serial interface.
You can now do a manual modprobe of the option serial driver and check dmesg for creation of ttyUSB devices, something usb_modeswitch would had done automagically if it had been sure that switching was successful.

so manually do the cmds:

modprobe usb_wwan
modprobe option

Josh
Site Admin
Posts: 6570
Joined: 03 Nov 2007, 00:30

Re: Huawei E1820: switched but no ttyUSB found

Post by Josh » 29 Sep 2014, 20:02

Killertechno wrote:I'm working on kernel 3.10 on Debian Wheezy.
Is this on an embedded platform, by any chance?

Killertechno
Posts: 5
Joined: 06 Feb 2014, 11:33

Re: Huawei E1820: switched but no ttyUSB found

Post by Killertechno » 30 Sep 2014, 12:37

Yes, is Debian running on ARM (Atmel A5).

Probably I haven't added to kernel all modules (I think Huawei needs different kernel modules than ONDA).
I'll check.

Usb-modeswitch installed through "apt-get install" command, I'll try to download sources and compile to get newer version.

DirkAurich
Posts: 12
Joined: 02 Jan 2024, 07:24

Re: Huawei E1820: switched but no ttyUSB found

Post by DirkAurich » 27 Apr 2024, 09:44

This is the kind of content that keeps me coming back for more.
schmitt's family farm melville

Post Reply