12 февр. 2011 г.

МТС Коннект 3 + ZeroCD


Если раньше мтс-ные олени являлись по сути модемами Huawei E1550 и иже с ним, которые сами по себе устройства простые и рулятся usb_modeswitch'ем на раз, то сейчас яичный оператор предлагает более скоростные (до 7,2 Mbit/s) устройства - Huawei E171. Они сложнее и умнее, умеют сразу быть и кардридером, и модемом, и еще чем-то там. Не забыт и приснопамятный ZeroCD. Да, с одной стороны usb_modeswitch (под рукой имеется версия 1.1.0-2 с базой от 20100127-1) в курсе об этом модеме, но с другой - сегодня отсутствует необходимость переключать его из режима ZeroCD в режим 3G-модема, так как они оба доступны сразу и не мешают друг другу. Проблема в том, что мне нужен только модем, а виндовый инсталлятор какого-то там красно-белого софта даром не упал. Но pcmanfm этот "диск" все равно чует и любезно вываливает окошко с предложением смонтировать и открыть.
Однако решение есть, причем достаточно функциональное в отношении всего ряда устройств Huawei точно, и наверняка еще чьих-то других. Как и любой модем, сей дефайс понимает AT команды. И выяснилось, что есть набор команд, позволяющий корректировать список устройств, инициализируемых при вставке "железки". В моем случае это модем, сетевая карта, кард-ридер, зеро-диск.
Так как мне жить мешает только последнее, его и будем вычленять. Делается это забросом в порт устройства (/dev/ttyUSB0, как правило) команды AT^U2DIAG=256, например, таким образом:
 echo -e "AT^U2DIAG=256\r" > /dev/ttyUSB0
Если затем поглядеть в порт, мы должны увидеть попавшую туда команду и ответ устройства:
cat /dev/ttyUSB0
AT^U2DIAG=256
OK
Теперь, если заново воткнуть устройство в usb-порт, zerocd не проинициализируется, однако остальной фунцкионал останется на месте.
Информации конкретно об этом устройстве в Сети как-то маловато, но, очевидно, основная часть параметров AT^U2DIAG для huawei-девайсов совпадает. Можно погуглить без указания конкретной модели. Вот тут, к примеру, табличка есть.