Заставляем 2g/3g/4g модемы работать на debian’е

Небольшая заметка. Все новые донглы, вместо того, чтобы доставлять пользователю незабываемый секс с pppd, имеют встроенные ethernet-по-usb, подцепляющийся модулями типа cdc-ncm, sierra_net и т.п. Потому, после втыкания их в ifconfig -a появляется новый интерфейс, у меня – wwan0.
И как бы нам его поднять?
Делается это отправкой

AT^NDISDUP=1,1,"apn"

в виртуальный последовательный порт (соответственно на момент отправки, симка не должна ожидать ввода пина, который лучше отключить нафиг. Или же придется добавлять отправку AT+CPIN ).
Новый network-manager разруливает все эти проблемы, но мелкий одноплатник это не то место, куда надо тащить эту монструозную штуку. В моем случае у меня дебиан на небольшой платке, куда воткнут модем, потому вооруженный вышеописанным я набросал такое в /etc/network/interfaces:

iface wwan0 inet dhcp
        pre-up echo -ne '\r\nAT^NDISDUP=1,1,"internet"\r\n' > /dev/ttyUSB0 && sleep 15
        dns-nameservers 127.0.0.1 8.8.8.8

Это дает модему 15 секунд прочихаться, добавляет 127.0.0.1 и гугловский днс как неймсервер, так как я пользую dnsmasq для локального днса. Заменить только надо /dev/ttyUSB0 путем к порту, на котором висит управляющий интерфейс модема. Ну а после можно юзать:

ifup wwan0

для поднятия интерфеса или

ifdown wwan0

для того, чтобы его опустить.
Так же неплохо пинговать гугль или еще кого каждые 5 или 10 секунд, так как модем у меня опускает интерфейс после нескольких часов без активности, и понять это кроме как по сообщению cdc_ncm в dmesg нельзя.

Сервер в кармане

Я не психопат – я просто мыслю творчески
(c) Гарри Поттер и методы рационального мышления

Участие в соревнованиях типа “евробота”, где кодить приходить в самых разнообразных позах, согнувшись хрен знает как, под/на/за столом, да и пара других веселых поездочек натолкнули меня на не совсем адекватную мысль, что надо бы сделать из своего телефона что-то более полезное, чем звонилку. Не все же ему ворочать своими мегагерцами жабу.

Итак, в наличии имеем:

  • Тупой китайский кирпич HD7 Pro с android 2.3.5, умеющим точку доступа, и не развалившийся за полтора года службы. Внутри – MT6573
  • Прямые руки (2 шт., костлявые)
  • Немного свободного времени

Хотим получить

  • Набор штатных инструментов – lighttpd, ssh, git, прочее
  • WiFi точку доступа с локальным dns, выходом в интернеты (если есть)
  • Блэкджек и прочие полезности (с)

2013-03-18-00-19-06

(далее…)

bash + netcat + javascript + html + css = gpiohttpd

magic people, voodoo people

(с) Prodigy

Не так давно, на Hack-a-Day увидел забавную статейку, о том, как (sic!) на Raspberry Pi, мужик мигает светодиодами из вебинтерфейса при помощи… apache2 + php + mysql.
Я так и не осилил понять на кой ляд ему потребовался там mysql, тут моя фантазия внезапно закончилась, да и разбираться в его хаке особенно не стал, так как в голову пришло совершенно неадекватнейшее колдунство, которое можно будет легко набросать на баше за пару часов.

shot

(далее…)

openwrt-sunxi: процесс идет

Наконец-то нашел пару минут немного доработать напильником этот порт.

Что нового:

  • Ребазировал на текущий транк OpenWRT
  • Поддержка чтения имени/модели железки из окружения убута.
  • Теперь собирает ядро 3.4 из ветки sunxi-3.4.  OpenWRT собирает как работающее ядро, так и пакеты с модулями к нему
  • Добавлены специфичные для платформы модули в пакеты такие как ahci, ir, i2c, etc.
  • Инструкции и код, как обычно, в репе на шитхабе

wrt

 

Треш и угар: android, ping и java

Кодинг под мобильные платформы, это то еще удовольствие. Наверное, начиная с времен J2ME. С надеждой жду, когда Jolla Mobile выкатит свою продукцию на рыкок, ибо iOS и android это та еще пакость. Ну а пока выбираю дройд, как меньшее из зол и более вменяемое.
Потребовалось мне на днях пингануть приложением интернеты, проверить живо ли оно да в зависимости от этого пошаманствовать. Свежа история, на прошлой неделе человек рассказывал мне про лютые извращения с SCNetworkCheckReachabilityByName на iOS для этой цели, пришла теперь моя очередь познакомиться с этим адом в контексте андроеда.

(далее…)

Windows XP: перетаскиваем установленную винду с диска на диск (тяжелый случай)

Ненавидят винду многие, но редко кто может сказать за что.
У меня для этого повод есть, и не один. В силу того, что некоторые упоротые чуть больше, чем полностью личности до сих пор делают софт и аппаратуру с заточкой на эту ОС, то мне ее приходиться включать, и иногда даже работать. Впрочем последнее не страшно, так как емакс и на винде себя неплохо чувствует… Но сказка не об этом, а о том, как я битый вечер пытался перебросить винду с одного жесткого на другой без переустановки. Если в линуксах, да и в *BSD это плевая операция на 7 минут, то здесь меня ждал секс в плохом смысле этого слова.
Итак, мой сетап:
Старый жесткий диск, ныне воткнутый в коробку, разбитый уж и не припомню почему, примерно так:
/dev/sdс1 – / установленной системы (Agilia)
/dev/sdc2 – swap
/dev/sdc3 – полигон для moblin’а|android x86 и т.п.
/dev/sdc4 – Винда ХП.

На новом жестком диске, так как винда была нафиг не нужна, как и полигон для разных недоос, расклад был такой.
/dev/sda1 – Свободное место для венды
/dev/sda2 – / Arch Linux’а
/dev/sda3 – swap

(далее…)

utool для андройда: запускаем скрипт при втыкании определенного носителя

Что-то я разошелся, третья апликуха за эту неделю. на этот раз достаточно странная.
Это мелкая апликуха, которая запускает скрипт, когда втыкается устройство с волшебным маркерным файлом и монтируется системой.
Вот и все. Жалко что в андройде не нашлось удева, тогда бы это решилось одним правилом…
Собственно, инструкция простая. создаем скрипт, куда складываем инструкции того, что надо сделать с устройством и его файлами, складываем куда-нибудь на устройство, создаем в корне флешки файл .IOMARKER (имя маркера можно настроить), вводим путь к скрипту, говорим запускать ли от имени рута.
Вот и все.


(далее…)

Еще одна апликуха для ведройда: FixNet

Ладно, андройд не идеальная платформа, но на данный момент лучшее их того что есть. Остальное либо трупы, либо огороженные поделки эппла. Но вот что бесит, так это то, как выставляется хостнейм. по дефолту это захардкоженный ‘android_’ + длиннющийдевайсайди. Не особо неприятно если мак адресс статичен, так как можно сказать роутеру выдавать читаемый хостнейм этому маку.
Но вот на моем старом flytouch2 мак, чтоб его, динамический и меняется каждую перезагрузку.
Зашибись, прямо планшет гордого анона.
Ладно, надо было это починить. Быстро и грязно было бы перепаковать ramdisk и забить мак в init.rc. Хостнейм так не пофиксишь, потому как его захардкоживает жабакод который работает уже после того, что в init.rc. Да и хотелось бы общего решения. Пришлось писать апликуху.

(далее…)

NetTTS 0.2

Дошли руки, и наконец-то я запилил новую версию NetTTS, в которой поправил все известные мне баги, и добавил новых (наверное!)
В общем, для тех кто в танке – NetTTS это такая софтина для андройда, которая позволяет удаленно использовать TTS движок оного при помощи того, что есть под рукой. А именно телнета или нетката из скриптов.
(далее…)