LINUX.ORG.RU

Встроенный модем thinkpad x270

 , mbim, ,


2

1

Имею thinkpad x270, на борту Gentoo. Есть кто-то, кому удалось завести встроенный модем (чипсет Fibocom L831-EAU)? Нашел этот мануал, но мне не помогло: lsusb не показывает ничего похожего на модем. Поделитесь пожалуйста историей успеха.
UPD: вот тут еще советуют активировать через виндовое приложение. Правда что ли?
UPD: обнаружил, что нужен cdc_mbim. Пересобрал ядро с нужными опциями, теперь девайс виден. Пытаюсь сделать:

$ sudo mbim-network /dev/cdc-wdm0 start
(файл /etc/mbim-network.conf есть, внутри только APN=yota.ru) но получаю
error: couldn't get IP configuration response message: Transaction timed out
error: couldn't open the MbimDevice: Transaction timed out



Последнее исправление: maked0n (всего исправлений: 5)

Ответ на: комментарий от slamd64

там cdc-wdm нужен чтобы сконфигурить этот самый usb-eth.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от slamd64

В логах вообще говоря вот что:

$ dmesg | grep cdc
[    1.531815] usbcore: registered new interface driver cdc_ether
[    1.531869] usbcore: registered new interface driver cdc_subset
[    1.531914] usbcore: registered new interface driver cdc_ncm
[    1.531939] usbcore: registered new interface driver cdc_mbim
[    1.537279] usbcore: registered new interface driver cdc_wdm
[    2.149886] cdc_mbim 1-3:1.0: setting rx_max = 16384
[    2.153989] cdc_mbim 1-3:1.0: cdc-wdm0: USB WDM device
[    2.154297] cdc_mbim 1-3:1.0 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-3, CDC MBIM, 6a:25:c7:bf:9b:6a
[    3.547159] cdc_mbim 1-3:1.0 wwp0s20f0u3: renamed from wwan0
[ 1097.272953] cdc_mbim 1-3:1.0: nonzero urb status received: -EPIPE
[ 1197.429177] cdc_mbim 1-3:1.0 wwp0s20f0u3: unregister 'cdc_mbim' usb-0000:00:14.0-3, CDC MBIM
[ 1197.432164] cdc_mbim 1-3:1.0: Tx URB error: -19
[ 1204.281891] cdc_mbim 1-3:1.0: setting rx_max = 16384
[ 1204.282576] cdc_mbim 1-3:1.0: cdc-wdm0: USB WDM device
[ 1204.364226] cdc_mbim 1-3:1.0 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-3, CDC MBIM, 6a:25:c7:bf:9b:6a
[ 1204.396357] cdc_mbim 1-3:1.0 wwp0s20f0u3: renamed from wwan0
kamos@nevermore ~ $ dmesg | grep mdim
kamos@nevermore ~ $ dmesg | grep mbim
[    1.531939] usbcore: registered new interface driver cdc_mbim
[    2.149886] cdc_mbim 1-3:1.0: setting rx_max = 16384
[    2.153989] cdc_mbim 1-3:1.0: cdc-wdm0: USB WDM device
[    2.154297] cdc_mbim 1-3:1.0 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-3, CDC MBIM, 6a:25:c7:bf:9b:6a
[    3.547159] cdc_mbim 1-3:1.0 wwp0s20f0u3: renamed from wwan0
[ 1097.272953] cdc_mbim 1-3:1.0: nonzero urb status received: -EPIPE
[ 1197.429177] cdc_mbim 1-3:1.0 wwp0s20f0u3: unregister 'cdc_mbim' usb-0000:00:14.0-3, CDC MBIM
[ 1197.432164] cdc_mbim 1-3:1.0: Tx URB error: -19
[ 1204.281891] cdc_mbim 1-3:1.0: setting rx_max = 16384
[ 1204.282576] cdc_mbim 1-3:1.0: cdc-wdm0: USB WDM device
[ 1204.364226] cdc_mbim 1-3:1.0 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-3, CDC MBIM, 6a:25:c7:bf:9b:6a
[ 1204.396357] cdc_mbim 1-3:1.0 wwp0s20f0u3: renamed from wwan0

Но теперь подключается вроде. Оказыавется, там какой-то баг в драйвере, из-за которого устройство преждевременно отключается и к нему Connection timed out. Решается следующим образом: в другом терминале сделать что-то такое:

cat >/dev/cdc-wdm0
После этого подключение вроде как проходит:
$ sudo mbim-network /dev/cdc-wdm0 start
Loading profile at /etc/mbim-network.conf...
    APN: yota.ru
    APN auth protocol: unset
    APN user: unset
    APN password: unset
    mbim-proxy: no
Querying subscriber ready status 'mbimcli -d /dev/cdc-wdm0 --query-subscriber-ready-status --no-close '...
[/dev/cdc-wdm0] Subscriber ready status retrieved: Ready state: 'initialized' Subscriber ID: '250110103459023' SIM ICCID: '8971100001034590233' Ready info: 'unknown' Telephone numbers: (0) 'unknown' [/dev/cdc-wdm0] Session not closed: TRID: '3'
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 3)
Querying registration state 'mbimcli -d /dev/cdc-wdm0 --query-registration-state --no-open=3 --no-close '...
[/dev/cdc-wdm0] Registration status: Network error: 'unknown' Register state: 'home' Register mode: 'automatic' Available data classes: 'lte' Current cellular class: 'gsm' Provider ID: '25011' Provider name: 'Yota' Roaming text: 'unknown' Registration flags: 'packet-service-automatic-attach' [/dev/cdc-wdm0] Session not closed: TRID: '4'
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 4)
Attaching to packet service with 'mbimcli -d /dev/cdc-wdm0 --attach-packet-service --no-open=4 --no-close '...
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 5)
Starting network with 'mbimcli -d /dev/cdc-wdm0 --connect=apn='yota.ru' --no-open=5 --no-close '...
Network started successfully
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 7)
Потом получаю по dhcp ip и вроде как все должно быть ок:
$ sudo ifconfig -a
...
wwp0s20f0u3: flags=4291<UP,BROADCAST,RUNNING,NOARP,MULTICAST>  mtu 1428
        inet6 fe80::3794:23f1:7ab8:bfca  prefixlen 64  scopeid 0x20<link>
        inet6 ::916b:9c67:ca62:a2dd  prefixlen 64  scopeid 0x0<global>
        ether 6a:25:c7:bf:9b:6a  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 344 (344.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 68  bytes 7880 (7.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
Но никакие веб-страницы не открываются, пишет:
This site can’t be reached

The webpage at https://www.google.com/ might be temporarily down or it may have moved permanently to a new web address.
ERR_NAME_RESOLUTION_FAILED
Хотя судя по FAQ йоты, после подключения мне нужно зайти на произвольную страницу и у меня вылезет их интерфейс.

maked0n
() автор топика
Ответ на: комментарий от maked0n

Вообще говоря, что-то у тебя пошло «не так».

Должен быть серый IPv4 адрес, а у тебя только IPv6.

Наверное, dhcp некорректно отработало.

slamd64 ★★★★★
()
Ответ на: комментарий от slamd64

dhcp некорректно отработало

Видимо вы правы:

$ sudo dhcpcd wwp0s20f0u3
DUID 00:01:00:01:21:8c:f5:fa:54:e1:ad:4b:21:15
wwp0s20f0u3: IAID c5:10:25:fd
wwp0s20f0u3: soliciting an IPv6 router
wwp0s20f0u3: soliciting a DHCP lease
wwp0s20f0u3: no IPv6 Routers available
timed out
dhcpcd exited
Есть какие-нибудь идеи?

maked0n
() автор топика
Ответ на: комментарий от slamd64

Прочел, что с некоторыми карточками dhcpcd может не работать и советуют подключаться через mbimcli. Вот попробовал. Вроде как подключение прошло, но если запросить опять статус - я по-прежнему отключен.

$ mbimcli -d /dev/cdc-wdm0 --connect="apn=yota.ru"
[/dev/cdc-wdm0] Successfully connected

[/dev/cdc-wdm0] Connection status:
	      Session ID: '0'
	Activation state: 'activated'
	Voice call state: 'none'
	         IP type: 'ipv4'
	    Context type: 'internet'
	   Network error: 'unknown'

[/dev/cdc-wdm0] IPv4 configuration available: 'address, gateway, dns'
     IP [0]: '10.66.148.134/24'
    Gateway: '10.66.148.1'
    DNS [0]: '94.25.128.105'
    DNS [1]: '94.25.128.97'

[/dev/cdc-wdm0] IPv6 configuration available: 'none'

$ sudo mbimcli -d /dev/cdc-wdm0 --query-connection-state
[/dev/cdc-wdm0] Connection status:
	      Session ID: '0'
	Activation state: 'deactivated'
	Voice call state: 'none'
	         IP type: 'default'
	    Context type: 'none'
	   Network error: 'unknown'

Естественно, ничего не пингуется, никуда зайти не могу: No internet connection available.

maked0n
() автор топика
Ответ на: комментарий от slamd64

Дык вот же, выше

$ mbimcli -d /dev/cdc-wdm0 --connect="apn=yota.ru"

...

[/dev/cdc-wdm0] Connection status:
	      Session ID: '0'
	Activation state: 'activated'
Т.е., он вроде как сначала подключается и все ок, даже настройки получает, но потом будто бы сразу отключается.

maked0n
() автор топика
Последнее исправление: maked0n (всего исправлений: 1)

Проблема решена.
Во-первых, ядро 4.12, как оказалось, еще не включает патч, нужный моему девайсу. Так что перешел на 4.14.
Во-вторых, я не верно понимал работу mbimcli. Я думал, что он меня подключает к интернету и от меня больше ничего не нужно. На самом же деле он просто получает настройки, которые я потом должен использовать при подключении. Так что после mbimcli нужно выполнить:

# ip addr add $ip dev $device
# ip link set $device up
# ip route add default via $gateway dev $device

maked0n
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.