Наприклад, при зникненнi зв’язку оглядач Firefox переходить в режим off-line, про-грама обмiну повiдомленнями Empathy навiть не намається з’єднатися тощо.Отже, ми хочемо використовувати наш модем, щоб пiд’єднуватися до мережi яко-мога природнiше для середовища GNOME, не втручаючись у налаштування прикла-дних програм.На офiцiйнiй сторiнцi виробника модему [1] можна знайти рiчної давнини пакунокдля систем Ubuntu 8.04 та Fedora 10. Проте вiн не встановлюється, не працює сам пособi. Та якби й працював, вiн призначений для попередньої моделi, i не iнтегруєтьсяу GNOME. Проте з нього нам стане в нагодi бiнарник, який вмiє перемикати модем.
2 Втiлення
В цiй частинi послiдовно описано, як налаштувати з’єднання крок за кроком. По-чнiмо з того, що пiд’єднаємо наш прилад до одного з гнiзд станцiї. За кiлька секундз’явиться та пiдмонтується накопичувач “ZTE USB MODEM”.
$ lsusb | grep 19d2 # Фiльтруємо по виробникуBus 005 Device 081: ID 19d2:fff5
2.1 Режим EVDO
Отже, беремо
ztemtcdromd
з пакунку виробника, розмiщуємо його куди-небудьу
/usr/local/sbin
. Проглянувши iншi скрипти пакунку, здогадуємося, що цейдемон чекає на сигнал USR1, а при отриманнi його виконує якусь чорну магiю.Значить, ми вже за крок до iнiцiалiзацiї модему.
$ sudo ztemtcdromd # На жаль, ця тварюка панська.$ sudo killall -USR1 ztemtcdromd$ lsusb | grep 19d2Bus 005 Device 081: ID 19d2:ffff
Видно, що iдентифiкатор продукту змiнився, отже, нарештi наша система отрималав розпорядження справжнiй модем.Наївна спроба розiбратися з цим шаманством з допомогою
strace
виявила, щопри отриманнi SIGUSR1 демон виконує один-єдиний виклик
ioctl(FBIOPUTCMAP)
над
/dev/ttyZTE
, передаючи йому якийсь вказiвник. Ну, як вже зробили, абипрацювало.
2.2 Ядро Linux
Iдентифiкатор пристрою може вiдрiзнятися вiд мого, принаймнi, у вебi згада-нi
0xfffe
,
0xfff1
та iншi. У найбiльш таланних вже досi з’явилися пристрої
/dev/ttyUSB[0-3]
, проте не кожному таке щастя. Ядро може не знати про всiзабаганки китайцiв, тому йому треба допомогти:2
Add a Comment