gnokii 時々初期化に失敗する

gnokii 時々初期化に失敗する

gnokii 0.6.31 +usb huawei e220 (centos 6.4 64 ビット) に問題があります。通常は正常に動作します。

echo "SMS from Huawei" | gnokii --phone huawei --config /etc/gnokiirc --sendsms 1234567890
GNOKII Version 0.6.31
Send succeeded with reference -1!

しかし、数日後に動作が停止し、次のエラー状態が発生します。

echo "SMS from Huawei" | gnokii --phone huawei --config /etc/gnokiirc --sendsms 1234567890
GNOKII Version 0.6.31
Initialization failed (11)
Telephone interface init failed: Command timed out.
Quitting.

私が知っている唯一の解決策は、Huawei USB モデムを取り外して再接続し、その後再び動作することです。

これを試してみましたが、うまくいきませんでした:

echo '2-1' |tee /sys/bus/usb/drivers/usb/unbind
sleep 20
echo '2-1' |tee /sys/bus/usb/drivers/usb/bind

動作しているときもそうでないときも同じ出力が得られました

gnokii --identify
GNOKII Version 0.6.31
Apparently you didn't configure gnokii. Please do it prior to using it.
You can get some clues from comments included in sample config file or give
a try with gnokii-configure utility included in gnokii distribution.
IMEI         : Unknown
Manufacturer : Unknown
Model        : Unknown
Product name : Unknown
Revision     : Unknown

/var/log/messages からの情報

Jun 15 12:36:02 chi kernel: usbcore: registered new interface driver usbserial
Jun 15 12:36:02 chi kernel: USB Serial support registered for generic
Jun 15 12:36:02 chi kernel: usbcore: registered new interface driver usbserial_generic
Jun 15 12:36:02 chi kernel: usbserial: USB Serial Driver core
Jun 15 12:36:02 chi kernel: USB Serial support registered for GSM modem (1-port)
Jun 15 12:36:02 chi kernel: option 2-1.8:1.0: GSM modem (1-port) converter detected
Jun 15 12:36:02 chi kernel: usb 2-1.8: GSM modem (1-port) converter now attached to ttyUSB0
Jun 15 12:36:02 chi kernel: option 2-1.8:1.1: GSM modem (1-port) converter detected
Jun 15 12:36:02 chi kernel: usb 2-1.8: GSM modem (1-port) converter now attached to ttyUSB1
Jun 15 12:36:02 chi kernel: usbcore: registered new interface driver option
Jun 15 12:36:02 chi kernel: option: v0.7.2:USB Driver for GSM modems

出力lsusb:

Bus 002 Device 004: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem

設定:

[global]
port = none
model = fake
initlength = default
connection = serial
use_locking = no
serial_baudrate = 9600
smsc_timeout = 10

[xgnokii]
allow_breakage = 0

[gnokiid]
bindir = /usr/local/sbin/

[connect_script]
TELEPHONE = 12345678

[phone_huawei]
model = AT
port = /dev/ttyUSB1
connection = serial

答え1

これで私の問題は解決しました:

リポジトリから新しいカーネルを追加し、すべての USB デバイスの自動サスペンドを無効にします。

for i in /sys/bus/usb/devices/*/power/autosuspend; do
    echo -1 > $i;
done
for i in /sys/bus/usb/devices/*/power/level; do
    echo on > $i;
done

関連情報