LTE роутер Yota Quanta (Quanta 1QDLZZZ0ST2/1K3) + Asus WL-500gP
Господа, а нет ли мыслей как подружить wl500gpV2 (прошивка 4051) с LTE-роутером от Yota?
Есть такая необходимость (раздать интернет на большой дом), а покупать модем пока нет ясности,
что эта штука не заработает не хочется. На lte-роутере стоит прошивка 20120301-QDL_4034-YOTA-1.
При подсоединения модема к компьютеру отключается wi-fi и интернет идет по USB только на компьютер.
При подсоединении к роутеру - ноль реакции. Подскажите, есть ли возможность заставить эту связку работать.
http://forum.yotatester.ru/showthread.php?t=4636 :rolleyes: http://www.besprovod.ru/topic/1270-v...outera-quanta/
LTE роутер Yota Quanta 1QDLZZZ0ST2
Изменение режимов работы USB порта Yota Router (Quanta 1QDLZZZ0ST2)
Mon 14 May 2012 * A Tracepoint Blog * Gadgets * Scripts In Gadgets * tags: yota
В новой версии прошивки (ver_120412) для Yota Router изменился режим работы USB подключения. Изначально устройство идентифицировало себя как
0x0408:0xd00a и имело 4 USB интерфейса (2 из них были последовательными портами и могли использоваться для управления модемом и установления
PPP соединений, третий позволял работать с модемом как с сетевым адаптером (а также управлять устройством с помощью протокола QMI), что было
очень удобно, а четвёртый представлял из себя виртуальный USB CD-ROM, содержащий драйверы для Windows и утилиту управления.
После установки обновления (Portable_Router_Quanta_NoModem_120412.exe) идентификатор устройства меняется на 0x0408:0xf000, все эти интерфейсы
пропадают и всё что остаётся от USB порта роутера это виртуальный CD-ROM с драйверами. Это достаточно популярный режим работы устройств на чипах
Qualcomm и как правило существует возможность переключить модем в обычный режим с помощью SCSI команды Start/Stop Unit, т.е. по сути путём
"извлечения" виртуального CD-ROM, но в данном случае этот способ не работал.
Тем не менее, программе обновления при повторном запуске удавалось перевести модем в нужный режим,
при этом он менял код устройства на 0xd009, а вместо одного интерфейса появлялось 5:
- 0. Устройство диагностического монитора (именно через него происходит обновление прошивки)
- 1. Последовательный порт
- 2. Последовательный порт
- 3. Сетевой адаптер/интерфейс QMI
- 4. Виртуальный CD-ROM
Но, после обновления прошивки, модем снова перезагружался в стандартный режим.
Как выяснилось с помощью перехвата трафика на USB шине с помощью Wireshark при работающей в VirtualBox под Windows программе обновления,
переключение действительно осуществляется с помощью команды Start/Stop Unit, но срабатывает она только в случае, когда в третьем байте CDB
находится значение 0x46. Это поле помечено в стандарте как "Reserved" и не используется, так что cредствами ОС дать такую команду устройству
было весьма проблематично (на что видимо и рассчитывали разработчики):
http://i.imgur.com/YHvUb.png
Остаётся только найти способ проделать это без использования утилиты обновления: в Linux можно использовать
входящую во все дистрибутивы программу usb-modeswitch со следующим конфигурационным файлом:
Code:
#############################################################################
# Yota Router (Quanta 1QDLZZZ0ST2) using firmware NoModem_120412 and above
#
# Modem mode can be activated using special SCSI Start/Stop Unit command
# with 0x46 in the 3rd CDB byte (marked as reserved in SCSI standard)
#############################################################################
DefaultVendor=0x0408
DefaultProduct=0xf000
TargetVendor=0x0408
TargetProduct=0xd009
# +---------------------------------------- CBW Signature
# | +--------- SCSI Start/Stop UNIT
# | |
# -------+ -+
MessageContent=5553424300000000000000000000061b004600000000000000000000000000
# -+ -+
# | |
# | +------------- Special Flag
# +--------------------- CDB Length
Можно добавить старт usb_modeswitch в правила udev или запускать вручную:
Code:
# usb_modeswitch -c yotarouter.conf
Для Windows понадобится скачать sg3-utils и использовать утилиты sg_scan и sg_raw:
Code:
C:\sg3_utils>sg_scan
PD0 [C] VBOX HARDDISK 1.0 42563030666161353234342d3938623831332030
CDROM0 [D] VBOX CD-ROM 1.0 42562d3231303037333036372020202020202020
CDROM2 [F] QDL Mass storage 2.31
C:\sg3_utils>sg_raw F: 1b 00 46 00 00 00
SCSI Status: Good
Sense Information:
sense buffer empty
После выполнения этих команд модем перезагружается в расширенный режим и его снова можно использовать как USB сетевой адаптер. ;)
httр://blog.tracepoint.ru/yota-router-quanta-1QDLZZZ0ST2-usb-modeswitch.html
LTE роутер Yota Quanta 1QDLZZZ0ST2
Использование Yota Router в Linux в качестве USB сетевого адаптера
Mon 21 May 2012 * A Tracepoint Blog * Gadgets * Scripts * In Gadgets * tags: yotalinuxpatch
К сожалению, Yota Router не работает в Linux в качестве USB сетевого адаптера "из коробки" (см. Изменение режимов работы USB порта
Yota Router (Quanta 1QDLZZZ0ST2)) и для решения этой проблемы удобнее всего воспользоваться открытыми драйверами от Qualcomm:
https://www.codeaurora.org/patches/quic/gobi/Gobi3000/.
Если вы пользуетесь Ubuntu 12.04 - есть готовый PPA с доработанными для Yota Router драйверами в формате DKMS:
Code:
$ sudo add-apt-repository ppa:ivoronin/gobi
$ sudo apt-get update
$ sudo apt-get install gobinet-dkms gobiserial-dkms
$ sudo modprobe gobinet
$ sudo modprobe gobiserial
Если нет - придётся поправить их исходные файлы вручную:
GobiNet (драйвер, отвечающий за работу сетевого интерфейса):
gobinet.patch https://gist.github.com/ivoronin/2703457
Code:
Index: gobinet-dkms-20110729~1026/GobiUSBNet.c
===================================================================
--- gobinet-dkms-20110729~1026.orig/GobiUSBNet.c 2012-05-09 23:11:33.000000000 +0400
+++ gobinet-dkms-20110729~1026/GobiUSBNet.c 2012-05-13 03:22:02.748985833 +0400
@@ -66,11 +66,15 @@
#define DRIVER_AUTHOR "Qualcomm Innovation Center"
#define DRIVER_DESC "GobiNet"
+ // Quanta 1QDLZZZ0ST2 (Yota Router), Old firmware
+ {
+ USB_DEVICE( 0x0408, 0xd00a ),
+ .driver_info = (unsigned long)&GobiNetInfo_intf2
+ },
+ // Quanta 1QDLZZZ0ST2 (Yota Router)
+ {
+ USB_DEVICE( 0x0408, 0xd009 ),
+ .driver_info = (unsigned long)&GobiNetInfo_intf3
+ },
//Terminating entry
После его загрузки должен появиться интерфейс usb0.
GobiSerial (драйвер последовательного порта, необходимый для управления состоянием Wi-Fi точки доступа):
gobiserial.patch https://gist.github.com/ivoronin/2480119
Code:
Index: gobiserial-dkms_20110729~1026/GobiSerial.c
===================================================================
--- gobiserial-dkms_20110729~1026.orig/GobiSerial.c 2012-05-09 23:11:02.000000000 +0400
+++ gobiserial-dkms_20110729~1026/GobiSerial.c 2012-05-13 04:08:50.930148737 +0400
{ USB_DEVICE( 0x05c6, 0x920c ) }, // Gobi 3000 QDL device
{ USB_DEVICE( 0x05c6, 0x920d ) }, // Gobi 3000 Composite Device
+ { USB_DEVICE( 0x0408, 0xd00a ) }, // Quanta 1QDLZZZ0ST2 (Yota Router), Old firmware
+ { USB_DEVICE( 0x0408, 0xd009 ) }, // Quanta 1QDLZZZ0ST2 (Yota Router)
//---------------------------------------------------------------------------
// USB serial core overridding Methods
//---------------------------------------------------------------------------
nInterfaceNum = pSerial->interface->cur_altsetting->desc.bInterfaceNumber;
DBG( "This Interface = %d\n", nInterfaceNum );
- if (nNumInterfaces == 1)
+ // Dirty hack for Quanta 1QDLZZZ0ST2
+ if (nNumInterfaces == 1 || ( pID->idVendor == 0x0408 && pID->idProduct == 0xd00a ))
// QDL mode?
if (nInterfaceNum == 1 || nInterfaceNum == 0)
// Calling kernel module to init our driver
После его загрузки должен появиться последовательный порт /dev/ttyUSB0.
QMI В качестве альтернативы в ядрах версии 3.4 (и выше) можно использовать драйвер qmi_wwan (drivers/net/usb/qmi_wwan.c),
для поддержки Yota Router придётся изменить его исходный код: qmi_wwan.patch https://gist.github.com/ivoronin/2761926
Code:
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -365,6 +365,24 @@ static const struct driver_info qmi_wwan_force_int4 = {
.data = BIT(4), /* interface whitelist bitmap */
/* Sierra Wireless provide equally useless interface descriptors
* Devices in QMI mode can be switched between two different
* configurations:
@@ -475,6 +493,26 @@ static const struct usb_device_id products[] = {
.bInterfaceProtocol = 0xff,
.driver_info = (unsigned long)&qmi_wwan_sierra,
+ /* Yota Router (Quanta 1QDLZZZ0ST2) Old firmware */
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x0408,
+ .idProduct = 0xd00a,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0xff,
+ .bInterfaceProtocol = 0xff,
+ .driver_info = (unsigned long)&qmi_wwan_force_int2,
+ /* Yota Router (Quanta 1QDLZZZ0ST2) */
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x0408,
+ .idProduct = 0xd009,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0xff,
+ .bInterfaceProtocol = 0xff,
+ .driver_info = (unsigned long)&qmi_wwan_force_int3,
После его загрузки должен появиться интерфейс wwan0.
Serial Для подключения к модему через последовательный порт можно воспользоваться драйвером option (drivers/usb/serial/option.c),
который для поддержки Yota Router также придётся модифицировать: option.patch https://gist.github.com/ivoronin/2761974
Code:
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -164,6 +164,8 @@ static void option_instat_callback(struct urb *urb);
#define QUANTA_PRODUCT_GLX 0xEA04
#define QUANTA_PRODUCT_GKE 0xEA05
#define QUANTA_PRODUCT_GLE 0xEA06
+#define QUANTA_PRODUCT_YOTA_ROUTER_OLD 0xD00A
+#define QUANTA_PRODUCT_YOTA_ROUTER 0xD009
#define NOVATELWIRELESS_VENDOR_ID 0x1410
@@ -559,6 +561,15 @@ static const struct option_blacklist_info zte_mf626_blacklist = {
.reserved = BIT(4),
+static const struct option_blacklist_info quanta_yota_router_old_blacklist = {
+ .reserved = ~(BIT(0) | BIT(1)),
+static const struct option_blacklist_info quanta_yota_router_blacklist = {
+ .reserved = ~(BIT(1) | BIT(2)),
static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
@@ -590,6 +601,10 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLX) },
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GKE) },
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) },
+ { USB_DEVICE_AND_INTERFACE_INFO(QUANTA_VENDOR_ID, QUANTA_PRODUCT_YOTA_ROUTER_OLD, 0xff, 0xff, 0xff),
+ .driver_info = (kernel_ulong_t)&quanta_yota_router_old_blacklist },
+ { USB_DEVICE_AND_INTERFACE_INFO(QUANTA_VENDOR_ID, QUANTA_PRODUCT_YOTA_ROUTER, 0xff, 0xff, 0xff),
+ .driver_info = (kernel_ulong_t)&quanta_yota_router_blacklist },
После его загрузки должен появиться последовательный порт /dev/ttyUSB0.
httр://blog.tracepoint.ru/using-yota-router-in-linux.html
Code:
lsusb -d0408:d00a -v
Bus 001 Device 096: ID 0408:d00a Quanta Computer, Inc.
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0408 Quanta Computer, Inc.
idProduct 0xd00a
bcdDevice 0.00
iManufacturer 3
iProduct 2
iSerial 4
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 115
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 1
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
LTE роутер Yota Quanta 1QDLZZZ0ST2
Wireshark Dissector for QMI protocol
Sun 20 May 2012 * A Tracepoint Blog * Gadgets * Scripts * In Scripts * tags: wireshark
Here is the Wireshark dissecctor for QMI (Qualcomm MSM Interface) USB protocol.
It allows to monitor QMI requests, indications and responses regardless of communication method
(cdc-wdm, gobi driver (qcqmi) or VM passthrough):
Code:
$ wireshark -X lua_script:qmi_dissector.lua
This script can serve as a good example of using the Wireshark's ...
read more :rolleyes: http://lists.freedesktop.org/archive...ay/000054.html
Wireshark Dissector for Qualcomm MSM Interface (QMI) Protocol
qmi_dissector.lua
Code:
--[[
Wireshark Dissector for Qualcomm MSM Interface (QMI) Protocol v0.1
Copyright (c) 2012 Ilya Voronin <ivoronin@gmail.com>
Based on Code Aurora Forum's BSD/GPL licensed code:
http://www.codeaurora.org/contribute/projects/gobi/
Short howto for using this script:
1. Find device in the lsusb output:
$ lusb
...
Bus 003 Device 002: ID 0408:d00a Quanta Computer, Inc.
...
2. Allow non-root access to your device's bus usbmon node:
$ sudo chmod 644 /dev/usbmon3
3. Run tshark or wireshark:
$ tshark -i usbmon3 -X lua_script:qmi_dissector.lua -R "qmi.tf"
...
115.067880 host -> 3.0 USB/QMI 77 DMS Request: Get Device Manfacturer
115.073657 3.0 -> host USB/QMI 108 DMS Response: Get Device Manfacturer
...
$ wireshark -X lua_script:qmi_dissector.lua
--]]
---
--- Tables
---
services = { [0] = "Control", [1] = "WDS", [2] = "DMS", [3] = "NAS",
[4] = "QOS", [5] = "WMS", [6] = "PDS", [7] = "AUTH", [8] = "AT",
[9] = "VOICE", [10] = "CAT2", [11] = "UIM", [12] = "PBM",
[14] = "RMTFS", [16] = "LOC", [17] = "SAR", [20] = "CSD", [21] = "EFS",
[23] = "TS", [24] = "TMD", [224] = "CAT", [225] = "RMS", [226] = "OMA" }
ctl_messages = { [0x21] = "Get Version Info", [0x22] = "Get Client ID",
[0x23] = "Release Client ID" }
wds_messages = { [0x01] = "Set Event Report", [0x20] = "Start Network Interface",
[0x22] = "Get Packet Service Status", [0x23] = "Get Channel Rates",
[0x4d] = "Set IP Family Preference" }
dms_messages = { [0x1] = "Set Event Report", [0x20] = "Get Device Capabilities",
[0x21] = "Get Device Manfacturer", [0x22] = "Get Device Model",
[0x23] = "Get Device Revision", [0x24] = "Get Device Voice Number",
[0x25] = "Get Device Serial Numbers", [0x26] = "Get Power State" }
nas_messages = { [0x2] = "Set Event Report", [0x20] = "Get Signal Strength",
[0x24] = "Get Serving System", [0x25] = "Get Home Network" }
---
--- Proto declaration
---
qmi_proto = Proto("qmi", "Quallcomm MSM Interface")
--
-- Fields
--
local f = qmi_proto.fields
-- QMUX Header
f.tf = ProtoField.uint8("qmi.tf", "T/F", base.DEC)
f.len = ProtoField.uint16("qmi.len", "Length", base.DEC)
f.flag = ProtoField.uint8("qmi.flag", "Flag", base.HEX)
f.svcid = ProtoField.uint8("qmi.service_id", "Service ID", base.HEX, services)
f.cid = ProtoField.uint8("qmi.cliend_id", "Client ID", base.HEX)
-- Transaction Header
f.resp_ctl = ProtoField.uint8("qmi.trans_response", "Transaction Response Bit",
base.DEC, nil, 1)
f.ind_ctl = ProtoField.uint8("qmi.trans_indication", "Transaction Indication Bit",
base.DEC, nil, 2)
f.comp_svc = ProtoField.uint8("qmi.trans_compound", "Transaction Compound Bit",
base.DEC, nil, 1)
f.resp_svc = ProtoField.uint8("qmi.trans_response", "Transaction Response Bit",
base.DEC, nil, 2)
f.ind_svc = ProtoField.uint8("qmi.trans_indication", "Transaction Indication Bit",
base.DEC, nil, 4)
f.tid_ctl = ProtoField.uint8("qmi.trans_id", "Transaction ID", base.HEX)
f.tid_svc = ProtoField.uint16("qmi.trans_id", "Transaction ID", base.HEX)
-- Message Header
f.msgid = ProtoField.uint16("qmi.message_id", "Message ID", base.HEX)
f.msgid_ctl = ProtoField.uint16("qmi.message_id", "Message ID", base.HEX, ctl_messages)
f.msgid_wds = ProtoField.uint16("qmi.message_id", "Message ID", base.HEX, wds_messages)
f.msgid_dms = ProtoField.uint16("qmi.message_id", "Message ID", base.HEX, dms_messages)
f.msgid_nas = ProtoField.uint16("qmi.message_id", "Message ID", base.HEX, nas_messages)
f.msglen = ProtoField.uint16("qmi.message_len", "Message Length", base.DEC)
-- TLVs
f.tlvt = ProtoField.uint8("qmi.tlv_type", "TLV Type", base.HEX)
f.tlvl = ProtoField.uint16("qmi.tlv_len", "TLV Length", base.DEC)
f.tlvv = ProtoField.bytes("qmi.tlv_value", "TLV Value")
--
-- Dissector Function
--
function qmi_proto.dissector(buffer, pinfo, tree)
local off = 64 -- URB header size
if buffer:len() - off < 12 then
-- No payload or too short (12 is a min size)
return
end
-- QMUX Header (6 bytes), see GobiNet/QMI.h
local tf = buffer(off,1) -- Always 0x01
if tf:uint() ~= 1 then
-- Not a QMI packet
return
end
local len = buffer(off+1,2) -- Length
if len:le_uint() ~= buffer:len() - off - 1 then
-- Length does not match
return
end
local flag = buffer(off+3,1) -- Always 0x00 (out) or 0x80 (in)
if flag:uint() ~= 0x00 and flag:uint() ~= 0x80 then
-- Not a QMI packet
return
end
local svcid = buffer(off+4,1) -- Service ID
local cid = buffer(off+5,1) -- Client ID
-- Setup protocol subtree
local qmitree = tree:add(qmi_proto, buffer(off, buffer:len() - off), "QMI")
local hdrtree = qmitree:add(qmi_proto, buffer(off, 6), "QMUX Header")
hdrtree:add(f.tf, tf)
hdrtree:add_le(f.len, len)
hdrtree:add(f.flag, flag)
hdrtree:add(f.svcid, svcid)
hdrtree:add(f.cid, cid)
off = off + 6
-- Transaction Header (2 or 3 bytes), see GobiAPI/Core/QMIBuffers.h
local responsebit
local indicationbit
if svcid:uint() == 0 then
responsebit = buffer(off, 1):bitfield(7)
indicationbit = buffer(off, 1):bitfield(6)
local thdrtree = qmitree:add(qmi_proto, buffer(off, 2), "Transaction Header")
tid = buffer(off+1,1)
thdrtree:add(f.resp_ctl, buffer(off, 1))
thdrtree:add(f.ind_ctl, buffer(off, 1))
thdrtree:add(f.tid_ctl, tid)
off = off + 2
else
responsebit = buffer(off, 1):bitfield(6)
indicationbit = buffer(off, 1):bitfield(5)
local thdrtree = qmitree:add(qmi_proto, buffer(off, 3), "Transaction Header")
tid = buffer(off+1,2)
thdrtree:add(f.comp_svc, buffer(off, 1))
thdrtree:add(f.resp_svc, buffer(off, 1))
thdrtree:add(f.ind_svc, buffer(off, 1))
thdrtree:add_le(f.tid_svc, tid)
off = off + 3
end
-- Message Header (4 bytes), see GobiAPI/Core/QMIBuffers.h
local msgstr
msgid = buffer(off, 2)
msglen = buffer(off+2, 2)
local mhdrtree = qmitree:add(qmi_proto, buffer(off, 4), "Message Header")
if svcid:uint() == 0x00 then -- CTL
mhdrtree:add_le(f.msgid_ctl, msgid)
msgstr = ctl_messages[msgid:le_uint()]
elseif svcid:uint() == 0x01 then -- WDS
mhdrtree:add_le(f.msgid_wds, msgid)
msgstr = wds_messages[msgid:le_uint()]
elseif svcid:uint() == 0x2 then -- DMS
mhdrtree:add_le(f.msgid_dms, msgid)
msgstr = dms_messages[msgid:le_uint()]
elseif svcid:uint() == 0x3 then -- NAS
mhdrtree:add_le(f.msgid_nas, msgid)
msgstr = nas_messages[msgid:le_uint()]
else
mhdrtree:add_le(f.msgid, msgid)
end
mhdrtree:add_le(f.msglen, msglen)
off = off + 4
-- TLVs, see GobiAPI/Core/QMIBuffers.h
local msgend = off + msglen:le_uint()
while off < msgend do
local tlvt = buffer(off, 1)
local tlvl = buffer(off+1, 2)
local tlvv = buffer(off+3, tlvl:le_uint())
local treesize = tlvl:le_uint() + 3
local treename = string.format("TLV 0x%.2x", tlvt:uint())
local tlvtree = qmitree:add(qmi_proto, buffer(off, treesize), treename)
tlvtree:add(f.tlvt, tlvt)
tlvtree:add_le(f.tlvl, tlvl)
tlvtree:add(f.tlvv, tlvv)
off = off + treesize
end
-- Setup columns
local svcstr = services[svcid:uint()] and
services[svcid:uint()] or string.format("0x%x", svcid:uint())
local typestr = indicationbit == 1 and
"Indication" or responsebit == 1 and "Response" or "Request"
msgstr = msgstr ~= nil and msgstr or string.format("0x%x", msgid:le_uint())
pinfo.cols.protocol:append("/QMI")
pinfo.cols.info:append(string.format(", %s %s: %s", svcstr, typestr, msgstr))
end
register_postdissector(qmi_proto)
https://gist.github.com/ivoronin/2641557 :cool:
LTE роутер Yota Quanta 1QDLZZZ0ST2
Отключение Wi-Fi точки доступа Yota Router (Quanta 1QDLZZZ0ST2)
Tue 15 May 2012 * A Tracepoint Blog * Gadgets * Scripts * In Gadgets * tags: yota
С помощью нескольких команд, данных через последовательный порт, можно легко отключить Wi-Fi точку доступа на Yota Router и перевести
устройство в режим USB модема (если вы уже обновили прошивку до 120412 понадобится предварительно переключить модем в расширенный
режим, чтобы получить доступ к COM портам). В Linux можно использовать утилиту cu, в Windows - PuTTY:
1. Подключение:
Code:
# cu -l /dev/ttyUSB0
ATZ
OK
ATI
Manufacturer: QUALCOMM INCORPORATED
Model: 0
Revision: 20120412-QDL_4034-YOTA-1
IMEI: XXXXXXXXXXXXXXX
+GCAP: +CGSM
OK
2. Просмотр текущего состояния:
Code:
at$QCISAMQueState
SoftAPON
OK
SoftAPON - Wi-Fi точка доступа включена, SoftAPOFF - выключена.
3. Отключение точки доступа:
Code:
at$QCISAMDisByWeb
PASS
OK
Индикатор беспроводной сети на корпусе модема при этом гаснет.
4. Включение точки доступа
Code:
at$QCISAMEnByWeb
PASS
OK
httр://blog.tracepoint.ru/yota-router-quanta-1QDLZZZ0ST2-disabling-wifi-ap.html