Armadilloフォーラム

Armadillo-X1でのUSBモデム(FS040U)利用方法

tanaka779

2019年3月20日 10時38分

お世話になります。
下記サイトを参考に、FS040UのUSBモデムにてネットワーク接続を試みています。

https://users.atmark-techno.com/forum/armadillo/2161

usb_modeswitch -v "0x1c9e" -p "0xf133" -S

のコマンドで、USBモデムに切り替わったようなメッセージは表示されるのですが
/dev/ttyUSB*として認識されません。

その後、modprobeを実行しようとすると下記エラーになってしまいます。

modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.9.133-at4/modules.dep.bin'
modprobe: FATAL: Module usbserial not found in directory /lib/modules/4.9.133-at

ArmadilloX1にてUSBモデムを認識させる方法について情報いただけないでしょうか。

以上

コメント

古関です。

> usb_modeswitch -v "0x1c9e" -p "0xf133" -S
>
> のコマンドで、USBモデムに切り替わったようなメッセージは表示されるのですが
> /dev/ttyUSB*として認識されません。

以下のコマンドは実施済みでしょうか?
[armadillo ~]# echo 1c9e f133 > /sys/bus/usb-serial/drivers/option1/new_id

Linux-KernelのUSBシリアルソースコード(drivers/usb/serial)内に
USB VendorID/ProductIDのホワイトリストがありますが、1c9e:f133は見つかりませんでした。
デフォルトではttyUSBとして認識しないため、new_idに追加する必要がありそうです。

こちらにモノが無いので動作確認はしていません。

よろしくお願いいたします。

ご回答ありがとうございます。

何度も申し訳ありませんが、追加で確認させてください。

該当のUSBモデムでは、モデムとして認識ができませんでしたので、物自体の対応、相性の問題かと思い
別のUSBモデム(UX302NCR)を利用し、同手順を踏みました。

echo 0x11f6 0x1034 > /sys/bus/usb-serial/drivers/option1/new_id

上記実行することで、ttyUSB0~3が認識され
mmcli -Lにてモデムが見つかるところまでは進みました。ありがとうございます。

nmcli deviceを実行したところ、DEVICEがttyUSB1、typeがgsmとなっていることも確認できています。
しかし、その内容でArmadilloG3のマニュアルを参考にコネクションを作成しましたがupで失敗します。

syslogには下記のとおりタイムアウトのエラーがでてしまいます。

armadillo ModemManager[15218]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
armadillo ModemManager[15218]: <warn>  Couldn't initialize PDP context with our APN: 'Serial command timed out'
armadillo ModemManager[15218]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> registered)
armadillo NetworkManager[838]: <warn>  [1554705983.0671] modem-broadband[ttyUSB1]: failed to connect modem: Serial command timed out
armadillo NetworkManager[838]: <info>  [1554705983.0672] device (ttyUSB1): state change: prepare -> failed (reason 'unknown') [40 120 1]
armadillo NetworkManager[838]: <info>  [1554705983.0681] manager: NetworkManager state is now DISCONNECTED
armadillo NetworkManager[838]: <warn>  [1554705983.0718] device (ttyUSB1): Activation: failed for connection 'gsm-ttyUSB1'
armadillo NetworkManager[838]: <info>  [1554705983.0787] device (ttyUSB1): state change: failed -> disconnected (reason 'none') [120 30 0]
armadillo NetworkManager[838]: <info>  [1554705983.0918] policy: auto-activating connection 'gsm-ttyUSB1'
armadillo NetworkManager[838]: <info>  [1554705983.0996] device (ttyUSB1): Activation: starting connection 'gsm-ttyUSB1' (f2859abd-0ca7-409f-b301-2fab494befbd)
armadillo NetworkManager[838]: <info>  [1554705983.1019] device (ttyUSB1): state change: disconnected -> prepare (reason 'none') [30 40 0]
armadillo NetworkManager[838]: <info>  [1554705983.1029] manager: NetworkManager state is now CONNECTING
armadillo NetworkManager[838]: <info>  [1554705983.1061] device (ttyUSB1): state change: prepare -> need-auth (reason 'none') [40 60 0]
armadillo NetworkManager[838]: <info>  [1554705983.1244] device (ttyUSB1): state change: need-auth -> prepare (reason 'none') [60 40 0]
armadillo ModemManager[15218]: <info>  Simple connect started...
armadillo ModemManager[15218]: <info>  Simple connect state (4/8): Wait to get fully enabled
armadillo ModemManager[15218]: <info>  Simple connect state (5/8): Register
armadillo ModemManager[15218]: <info>  Simple connect state (6/8): Bearer
armadillo ModemManager[15218]: <info>  Simple connect state (7/8): Connect
armadillo ModemManager[15218]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
armadillo ModemManager[15218]: <warn>  Couldn't initialize PDP context with our APN: 'Serial command timed out'
armadillo ModemManager[15218]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> registered)

cu -l ttyUSB1を実行しても「Line in use」のエラーとなり接続できません。

/dev/ttyUSB*に対してはchmodでrwの権限をすべてに与えているため、権限の問題ではないと考えておりますが
何か他に手順が必要なのでしょうか。

古関です。

ModemManagerでUX302NCRの動作検証をしたことがないため、動作するかわかりません。
デバッグログを有効にしたときの動作ログ一式を見ると詳しい情報がわかるかもしれません。
https://users.atmark-techno.com/blog/750/2508

ATコマンドは3GPPで標準仕様が定義されていますが、
各々のメーカーが独自にATコマンドの定義をしている部分も多くModemManagerだと動かないこともあります。
(プラグインで対応しているときもありますが、対応していないときもある)

ModemManagerを使用せずに、自前てチャットスクリプトを書いてpppdを動かすと動作するかもしれません。

以下ModemManagerの停止方法。
https://qiita.com/kwi/items/b322e28f27f64623bf69

> cu -l ttyUSB1を実行しても「Line in use」のエラーとなり接続できません。
これはModemManagerがttyUSB1を掴んでいるためcuが掴めないようにみえます。
ModemManagerを停止すればcuから触れると思います。

> ModemManagerを使用せずに、自前てチャットスクリプトを書いてpppdを動かすと動作するかもしれません。
>
> 以下ModemManagerの停止方法。
> https://qiita.com/kwi/items/b322e28f27f64623bf69

ご指摘ありがとうございます。
ModemManagerを停止し、wvdialを利用することで正常に接続することができました。