дуже давно не згадував про ту пару 3g-модемів, що колись придбав собі з пакетами київстару. головною тому причиною були неадекватні київстарівські тарифи на інтернет. тож вже розлочені (дякую юрі новоставському) модеми лежали собі на поличці, аж поки один я не віддав братові, а другий… другий вирішив таки використати — але цього разу вже з передплаченим сервісом від utel’а, точніше тепер вже від укртелекому.

з підключенням розлоченого модема до linux’а не все пішло гладко, тож треба розбиратися… але про особливості підключення розповім за іншим разом, а наразі так-сяк інтернет вже працює — цей допис саме публікую, підключившись через модем. допис про інше.

раніше я стрічався із задачкою змусити модем підключатися лише до 3g-мережі utel, ігноруючи gprs/edge в київстарівському (дорогому) роумінгу… і вирішував її (точніше, думав, що вирішував) за допомогою пк з windows і «рідного» київстарівського софта. справа не в теоретично вищій швидкості, а в контрольованості витрат. цього разу вирішив таки знайти спосіб зробити це прямо в linux’і… і дізнався багато нового.

по-перше, виявляється (сюрприз!), що модем zte mf100 не пам’ятає налаштування режиму вибору мережі… тобто якщо я раз в рідній програмі наказав йому «чіпляти» тільки 3g-мережу — це налаштування зберігається не модемом, а цією програмою, і при підключенні до іншого комп’ютера модем повернеться до режиму «wcdma/edge/gprs з пріоритетом найсильнішого сигналу» — а найкращий сигнал у нас навіть в києві переважно саме в gprs/edge. (поновлення: насправді можна змусити модем запам’ятати налаштування).

по-друге, складну операцію з відключення функції zerocd через видалення пари файлів на модемі, після якої модем починає нормально розпізнаватися в linux’і, тепер можна не виконувати — і, більше того, не треба цього робити! бо сучасні дистрибутиви вже мають в наборі софтинку usb_modeswitch і вміють автоматично переключати режим роботи такого «свистка»… а якщо навіть не вміють — той же ефект можна отримати однією простою at-командою для модема, і за необхідності повернути все «як було» іншою простою командою.

по-третє, купу інших операцій з модемом, включаючи встановлення режиму вибору мережі, сканування доступних мереж, отримання службової інформації (imei, номер sim-карти, рівень сигналу тощо) та відсилку ussd-кодів (для перевірки балансу тощо) — також можна здійснювати за допомогою at-команд.

і нарешті — найцікавіше. власне, увесь допис заради цієї невеличкої нотатки собі на пам’ять: як надсилати команди модему і (головне) отримати від нього якусь реакцію? в деталях це за посиланням вище не описано.

запихаємо модем до роз’єма usb, трішки чекаємо, і перевіряємо, чи система його побачила і впізнала. по-перше, команда lsusb має в одному з рядків дати щось таке:
Bus 001 Device 004: ID 19d2:0016 ONDA Communication S.p.A.
ідентифікатори 19d2:0016 згадувалися в моїх попередніх дописах про mf100.  команда dmesg | tail -n 50 | grep "GSM modem" має показати кілька рядків, серед яких будуть такі:
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
це означає, що система віддала модему три віртуальних порти. лише останній, ttyusb2 використовується для звичайного зв’язку з модемом.

далі починається проста вулична магія. відкриваємо два термінали. в одному будемо спостерігати реакцію модема на команди — але спершу треба в ньому дати команду (див. скріншот, лівий термінал):
$ sudo cat /dev/ttyUSB2
…і надати системі пароль адміністратора. з’єднання з інтернетом не має бути встановлене — інакше порт виявиться зайнятий. в другому терміналі можна починати забавлятися. наприклад:
$ echo -e "AT+COPS=?\r\n" > /dev/ttyUSB2
у відповідь на цю команду модем (подумавши довгенько) видасть в перший термінал (див. скріншот) перелік доступних мереж. інші команди можна підглянути в оригінальному дописі, на який я вже посилався.

важливо! щоби продовжити роботу з модемом — підключитися за допомогою wvdial тощо — треба «сказати» ctrl+c в першому терміналі… інакше wvdial не «бачитиме» реакції модема на свої at-команди.

наразі все. детальніше про роботу з модемчиком, швидкість та якість зв’язку і таке інше розповім пізніше, коли ще пограюся.

поновлення. ще кілька цікавих команд перераховано тут. схоже, що є спосіб змусити модем запам’ятати режим вибору мережі — командою at&w… але не пробував ще.

8 коментар(ів):

Axiom сказав...

А можна отирмати інструкцію як підключити модем Утела до Убунту? Бо вже двічі мені "хакери" шаманили і все без толку =(

tivasyk сказав...

@axiom — йой! ледве встиг опублікувать — вже й коментар є =) про підключення трішки пізніше відпишу детально… наразі скажу лише, що networkmanager, яким я користувався раніше, не хоче підключаться — а от wvdial працює, хоч і не без проблем.

Vitaliy Zinchenko сказав...

В Ubuntu 10.04 NetworkManager працює без проблем, а ще натрапляв на коментарі щодо ПЗ від vodafone
, хоча достовірність цього не перевіряв

tivasyk сказав...

@vitaliy zinchenko
> в ubuntu 10.04 networkmanager працює без проблем
саме з цим модемом mf100? які в тебе vendor та product id показує lsusb?

p.s. так, я знайшов якусь інфу про баг чи то ядра, чи то networkmanager’а, що призводить до такого… але перевірити наразі нема на чім. враховуючи, що wvdial з’єднується — швидше за все це таки nm =/

Vitaliy Zinchenko сказав...

>саме з цим модемом mf100? які в тебе vendor та product id показує lsusb?
система повертає таке: Bus 001 Device 003: ID 19d2:0031

tivasyk сказав...

@vitaliy zinchenko — ну от, бачиш… модем наче й той самий, але прошивка інша (в мене 19d2:0016) — звідси й можуть бути проблеми.

Ipeacocks сказав...

>що networkmanager, яким я користувався раніше,

спробуй видалити налаштування нетворкманагера, а потім знову налаштувати. такий собі кде-вей.)

tivasyk сказав...

@lpeacocks — гхм, а про таке я навіть і не подумав якось… дякую! спробую просто зараз.

Дописати коментар

увага!
коментарі не модерую, проте спам видаляю нещадно. посилання на інші сайти/блоги за темою допису вітаю.

додаткові можливості розмітки (кутики набрати з клавіатури):
  ‹b›жирний шрифт‹/b›
  ‹i›похилий шрифт‹/i›
  ‹a href="http://tivasyk.info"›посилання‹/a›