Что я понял из приведенной в первом посту ссылке: человек скачал недостающие модули (в моем случае один - cdc_ether.ko), установил winscp, в webинтерфейсе dd-wrt включил JFFS2 service, закачал cdc_ether.ko в папку JFFS и оттуда запустил. И модем судя по dmesg ожил.
Но в ссылке на файл cdc_ether.ko сказано, что он для ядра 2.6.24, а у меня прошивка с ядром К3.0...
Тупичокс...
А в то, что мне предложили сделать Вы (с момента "Запуск команд... Code:...) я вообще не въехал...
Знаний не хватает...
Может разъясните подробнее - по шагам: что за чем и куда вводить, и где смотреть результат.
Заранее благодарен.
P.S. Я даже не понял, например это "2269 root 1168 S" относится к команде и сколько там пробелов должно быть...
управление модемом возможно, так как имеет уже IP адрес или в крайнем случае так же возможно через его serial интерфейс. Или его родной IP модема, так же DHCP.
- через interface driver usbserial (настройки через WEB) или проверить их
1. cat /sys/kernel/debug/usb/devices получаем
2. переключение режима модема с usb-modemswitch получаем, что
Code:
<6>[ 4217.240000] usb 1-1: USB disconnect, device number 6
<6>[ 4217.250000] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
<6>[ 4217.260000] option 1-1:1.0: device disconnected
<6>[ 4217.260000] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
<6>[ 4217.270000] option 1-1:1.2: device disconnected
<6>[ 4302.670000] usb 1-1: new high-speed USB device number 7 using ar71xx-ehci
<6>[ 4302.860000] option 1-1:1.0: GSM modem (1-port) converter detected
<6>[ 4302.860000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
<6>[ 4302.870000] option 1-1:1.1: GSM modem (1-port) converter detected
<6>[ 4302.880000] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
может не проходить так как происходит подключение и эмуляция CDROM, в противном случае система видит модем и можно посылать команды по serial интерфейсу
3. запуск нужного скрипта например из /etc/comgt/netmode.comgt команда "ps"
Code:
1092 root 1168 S sh -c export COMGNMVARIANT=2;export COMGTNM=0;comgt -d /dev/usb/tts/0 -s /etc/comgt/netmode.comgt >/tmp/comgt-netmode.out
1093 root 944 S comgt -d /dev/usb/tts/0 -s /etc/comgt/netmode.comgt
Code:
...
:variant2
print "Variant #2 Huawei\n"
let $a=""
# Auto 3G/2G
if $env("COMGTNM") = "0" let $a="AT^SYSCFG=2,0,3FFFFFFF,2,4"
# Force 3G
if $env("COMGTNM") = "1" let $a="AT^SYSCFG=14,2,3FFFFFFF,2,4"
# Force 2G
if $env("COMGTNM") = "2" let $a="AT^SYSCFG=13,1,3FFFFFFF,2,4"
# Prefer 3G
if $env("COMGTNM") = "3" let $a="AT^SYSCFG=2,2,3FFFFFFF,2,4"
# Prefer 2G
if $env("COMGTNM") = "4" let $a="AT^SYSCFG=2,1,3FFFFFFF,2,4"
if $a = "" goto unkownmode
send $a
send "^m"
waitfor 5 "OK","ERR","ERROR"
if % = 0 goto continue
if % = 1 goto senderror
if % = 2 goto senderror
...
Если ошибки то будет лог в файлах с расширением *.out
По первому варианту если не хватает файлов то их находят для нужной версии ядра, размещает там где позволяет место на роутере (jffs или раздел flash на диске).
Ниже пример на другом роутере модема MF667 билайн с симкой от мегафона при использовании interface driver usbserial.
Code:
kernel: usb 1-2: new high speed USB device using rt3xxx-ehci and address 4
kernel: usb 1-2: configuration #1 chosen from 1 choice
kernel: option 1-2:1.0: GSM modem (1-port) converter detected
kernel: usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
kernel: option 1-2:1.1: GSM modem (1-port) converter detected
kernel: usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1
kernel: option 1-2:1.2: GSM modem (1-port) converter detected
kernel: usb 1-2: GSM modem (1-port) converter now attached to ttyUSB2
...
pppd started by root, uid 0
..
send (ATZ^M)
expect (OK)
ATZ^M^M
OK
send (ATI^M)
expect (OK)
^M
ATI^M^M
Manufacturer: ZTE CORPORATION^M
Model: MF667^M
Revision: BD_HDMF667V1.0.0B04^M
IMEI: 860014....^M
+GCAP: +CGSM,+DS,+ES^M
^M
OK
send (AT+CFUN=1^M)
expect (OK)
^M
AT+CFUN=1^M^M
OK
send (AT+CGDCONT=1,"IP","internet"^M)
expect (OK)
^M
AT+CGDCONT=1,"IP","internet"^M^M
OK
send (AT+COPS?^M)
expect (OK)
^M
AT+COPS?^M^M
+COPS: 0,0,"MegaFon",2^M
^M
OK
...
send (ATD*99#^M)
expect (CONNECT)
^M
ATD*99#^M^M
CONNECT
interface ppp0
Connect: ppp0 <--> /dev/ttyUSB2
...
local IP address 100.хх.хх.25
remote IP address 10.хх.хх.5
...
В данном случае если не получается достучаться до модема через его serial, то можно cdc_ether с нужным для версии ядра.
Большое спасибо за разъяснения! Правда я не все понял!
Как я понял-я иду сейчас по 3 варианту (по 1 у меня нет файла для ядра установленной прошивки, по 2 - не получилось)!
В терминале ввожу команды:
Code:
1092 root 1168 S sh -c export COMGNMVARIANT=2;export COMGTNM=0;comgt -d /dev/usb/tts/0 -s /etc/comgt/netmode.comgt >/tmp/comgt-netmode.out
1093 root 944 S comgt -d /dev/usb/tts/0 -s /etc/comgt/netmode.comgt
Или сначала надо перейти в каталог /etc/comgt, а потом запустить команду?
А дальше? Что делать с этим:
"Или например в одном терминале
echo "AT^SETPORT?" > /dev/ttyUSB1
а в другом
cat /dev/ttyUSB1"
и с этим:
Code:
...
:variant2
print "Variant #2 Huawei\n"
let $a=""
# Auto 3G/2G
if $env("COMGTNM") = "0" let $a="AT^SYSCFG=2,0,3FFFFFFF,2,4"
# Force 3G
if $env("COMGTNM") = "1" let $a="AT^SYSCFG=14,2,3FFFFFFF,2,4"
# Force 2G
if $env("COMGTNM") = "2" let $a="AT^SYSCFG=13,1,3FFFFFFF,2,4"
# Prefer 3G
if $env("COMGTNM") = "3" let $a="AT^SYSCFG=2,2,3FFFFFFF,2,4"
# Prefer 2G
if $env("COMGTNM") = "4" let $a="AT^SYSCFG=2,1,3FFFFFFF,2,4"
if $a = "" goto unkownmode
send $a
send "^m"
waitfor 5 "OK","ERR","ERROR"
if % = 0 goto continue
if % = 1 goto senderror
if % = 2 goto senderror
...
В данном случае если не получается достучаться до модема...
Проблему решил.
Я обычно переставлял прошивки (повышал версии) по советам в блоге steve jenkins, а старые сохранял. Версии прошивок я скачивал у него, т.к. в репозитарии конкретно для E4200 их не было.
Самая старшая, сохраненная у меня прошивка имеющая в названии Е4200 и ядро 2.6 называлась dd-wrt.v24-23040_NEWD-2_K2.6_mega-e4200. Остальные, которые он выкладывал, в названии Е4200 не содержали.
Может это совпадение, но поставив ее и подключив модем после перезагрузки все заработало.
Интересно, что в этой прошивке модем по lsusb не определялся, а Vendor=12d1 и ProdID=1506.
Для чистоты эксперимента я загружал прошивки 27490_2.6 и 29346_K2.6, но в каждой модем определялся как Vendor=12d1 и ProdID=1446, а по lsusb - его не было.
Разобраться в чем разница, при моих знаниях в этом вопросе, не реально - потому выкладываю логи с рабочей прошивки и саму прошивку.
Может кто то сопоставит их и найдет проблему, а кому то поможет сама прошивка.
P.S. Проверил на 3 симкартах - Билайн, мтс и мегафон.
Работают сразу Билайн и мтс, мегафон не подключился. Разница между картами только одна: у Билайн и мтс отключен был пин код, а в мегафоне включен. Пробовал (карту мегафона) в установках dd-wrt ставить с пинкодом и без - не завелась. А времени, чтоб отключить пин код и еще раз провести эксперимент уже не было.
usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
drivers/usb/serial/option.c: USB Driver for GSM modems:
usb 1-1: USB disconnect, address 2
usb 1-1: new high speed USB device using ehci_hcd and address 3
usb 1-1: configuration #1 chosen from 1 choice
option 1-1:1.0: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1:1.1: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2