Архів мітки: usb-devices

3mob інтернет через модем HUAWEI Mobile у Debian

Інколи, в мене падає кабельний інтернет і я змушений переключатися на резервний 3G від 3mob (колишній Утел та Укртелеком). Як я вже писав, з першого разу я зміг без проблем підключитися до 3G мережі, але потім всі мої спроби підключення завершувались аварійно.

Тоді в мене не було часу розбиратися в чому справа, бо як правило, кабельний інтернет швидко починав робити знову і я забував про свій 3G. Але сьогодні я вирішив з’ясувати в чому справа.

Перш за все, після відмови підключитися, я продивився вивід dmesg:

# dmesg | tail -n 1
[407908.851115] modem-manager[11161]: segfault at 0 ip
 00007f3172ea60a8 sp 00007fff6ce952c8 error 4 in
 libglib-2.0.so.0.3200.4[7f3172e32000+f5000]

Segmentation fault – це завжди погано. Погугливши на тему modem-manager я знайшов багато подібних проблем і рішення у стилі “ось тобі молоток та зубильце – доопрацьовуй”.

Справа в тому, що Лінукс не вірно визначає ідентифікатор пристрою. Але це можна полагодити.

1. Підключаємо USB модем і дивимось вивід dmesg:

$ dmesg | tail
[408349.676873] ehci_hcd 0000:00:1a.0: setting latency timer to 64
[408349.692769] xhci_hcd 0000:00:14.0: setting latency timer to 64
[408349.896576] usb 1-1.2: new high-speed USB device number 4 using
 ehci_hcd
[408349.999615] usb 1-1.2: New USB device found,
 idVendor=12d1, idProduct=1446
[408349.999626] usb 1-1.2: New USB device strings: Mfr=2, Product=1,
 SerialNumber=0
[408349.999632] usb 1-1.2: Product: HUAWEI Mobile
[408349.999637] usb 1-1.2: Manufacturer: HUAWEI Technology
[408350.004599] scsi33 : usb-storage 1-1.2:1.0
[408350.005229] scsi34 : usb-storage 1-1.2:1.1
[408350.595754] ehci_hcd 0000:00:1d.0: setting latency timer to 64

Нас цікавить лише ідентифікатор виробника (idVendor) та пристрою (idProduct).

2. Він рута завантажуємо модуль option:

# modprobe option

3. Через команду usb-devices перевіряємо які ідентифікатори виробника та продукту вказані для нашого модему (вивід скорочено):

# usb-devices 
...
T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 15 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1001 Rev=00.00
S:  Manufacturer=HUAWEI Technology
S:  Product=HUAWEI Mobile
C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
I:  If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
...

4. Видно, що виробник вказаний вірно, а от код пристрою – ні. Встановлюємо вірні значення:

# echo 12D1 1446 > /sys/bus/usb-serial/drivers/option1/new_id

Після цього мій 3G модем HUAWEI успішно підключився до мережі 3mob.