пятница, 16 ноября 2012 г.

ставим ubuntu на benq s6

описанный в пердыдущем посте мониторинг температуры на скорую руку проработал примерно неделю и после этого тот старый десктоп из первого шага начал активно умирать. раздумья на тему искать очередное старье или что-то более свежее навели меня вот на такую штуку:
которую на ebay в легкую можно купить за $59 с бесплатной доставкой в пределах США. два клика и две недели ожидания, когда с оказией оный довезут до минска и эта радость у меня в руках. вставил симку и пару минут потыкавшись, чтобы убедится что 3g работает (да-да adsl в квартире пока нет и инет мобильный) пошел искать howto на нее поставить что-нибудь типа юбунты... упс - нашел только ролик на ютюбе, что некто в древние времена поставил на нее ubuntu 8.04 без подробностей и посты на форумах о том что как включить wifi и 3g они не знают.. эх, пришлось думать самому:
  1. взял 32битную сборку ubuntu server 12.04.1 lts
  2. при помощи Unetbootin сделал загрузочную флэшку. на ней из-за бага в unetbootin нужно ручками переименовать четыре файла с расширением .ude на расширение .udeb в директории /pool/main/l/linux. Детали вот тут
  3. перегрузил девайс со вставленной флэшкой и ... получил ubuntu installer!
  4. далее отвечая на вопросы доходим до момента когда он все скопирует, настроит и предложит перегрузиться. вынимаем флэшку и соглашаемся.
  5. после перегрузки первая засада - экран пару раз моргает и отказывается что-либо показывать.. догадываюсь что, по-видимому, он переключает монитор в какой-то графический режим, который на этом железе не поддерживается ;-( но если installer может работать в текстовом, то почему сама убунта этого не делает? гуглю и нахожу как сказать grub'u работать в текстовом режиме. Перегружаюсь опять с флэшкой, открываю консоль, монтирую /dev/sda и редактирую /etc/default/grub как описанно. главное после этого не забыть запустить 'update-grub'. помогло!
    UPDATE: этот глюк у меня был только при первой попытке установить юбунту, где я, по-видимому, вначале выбрал какой-то экзотический режим консоли. позже, установка той же версии юбунты на другом benq s6 прошла гладко и без дополнительной возни с grub'ом
    итак имею установелнную юбунту 12.04 lts на benq s6, но с выключенным (обесточенными power mamager'ом) wifi и 3g ..
  6. опять гуглю и нахожу пост какого-то итальянца с описанием протокола для их включения
  7. модифицирую скрипт для управления Benq S6 ACPI EC (Embedded Controller) который даже соответствующие светодиоды зажигает: benqs6_ec.pl
    делаю скрипт для включения 3g
    #!/bin/bash
    benqs6_ec.pl 3g on
    modprobe -r usbserial
    modprobe usbserial vendor=0x1da5 product=0x4511
    

    и скрипт для включения и подключения к wifi которому на вход надо давать имя точки доступа
    #!/bin/bash
    rmmod libertas_sdio
    rmmod sdhci_pci
    beqs6_ec.pl wifi on
    modprobe sdhci_pci
    modprobe libertas_sdio
    sleep 2
    iwconfig wlan0 essid $1
    dhclient wlan0
    
  8. wifi у меня еще нет, это на будущее. а в настоящем настраиваю pppd over 3g (через vwdial)
Все. Дальше повторяю уже описанные ранее действа для мониторинга температуры и получаю удовлетворение от проделанной работы! ;-)

20 комментариев:

  1. уточнение к #2: после работы Unetbootin на win7 нужно переименовать *.ude файлы в *.udeb на флешке иначе инсталлятор будет говорить о несовпадающих md5 суммах

    ОтветитьУдалить
    Ответы
    1. Точно, было такое, забыл указать. Поставлю.

      Удалить
  2. еще пару уточнений
    - нужен BIOS который ставился на девайсы с MID Linux. На XP BIOSe не поднимается wlan0

    - скрипт для WiFi работает если AP незасекурена. Для WAP нужно ставить и настраивать wap_supplement пакет, а WEP который должен был бы работать у меня не заработал: benq упорно не хотел коннектится. Впрочем UX31E тоже не захотел работать с WEP -- скорее всего дело в AP.

    ОтветитьУдалить
  3. Окончательно настроил автостарт wifi с wpa2 при загрузке.

    0. Нужно поставить firmware для Marvell SD8686 из пакета
    http://pkgs.org/ubuntu-12.04/ubuntu-multiverse-i386/libertas-firmware_9.70.7.p0.0-1_all.deb.html, файлы копируются руками в /lib/firmware

    1. Ставим wpa_supplicant после того как подключились к AP с выключенной секурностью (скрипты выше): sudo apt-get install wpa_supplicant

    2. Создаем wpa конфиг: wpa_passphrase "" >/etc/wpa_supplicant/wpa_supplicant.conf
    Прога добавляет кучу параметров на которые потом поче-му то ругается при старте, поэтому там можно оставить только:
    ==[cut]==
    network={
    ssid="your SSID"
    psk=
    }
    ==[cut]==


    3. Скрипт для старта wifi с wpa слегка видоизменился и вызов его был вставлен в /etc/rc.local:
    ==[cut]==
    #!/bin/bash
    rmmod libertas_sdio
    rmmod sdhci_pci
    /etc/init.d/benqs6_ec.pl wifi off
    /etc/init.d/benqs6_ec.pl wifi on
    modprobe sdhci_pci
    modprobe libertas_sdio
    sleep 2
    wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -D wext
    dhclient wlan0
    ==[cut]==

    Истинные ценитили кухни ubuntu конечно же закидают помидорами за такое, т.к. в /etc/network уже есть скрипты которые настраивают сеть на основе глобальных переменных IF_WIRELESS* и wpa supplicant добавляет туда свой скрипт и ожидает что в /etc/network/interfaces будет прописана вся настройка.

    Увы, несколько попыток прописать старт wlan0 перед основным networking не увенчались успехом, поэтому был сделан "неправильный" хак с вызовом скрипта из "/etc/rc.local"

    ОтветитьУдалить
  4. Wordpress порезал скобки, уточнение:
    ...
    wpa_passphrase "[your SSID]" [your passwd] >/etc/wpa_supplicant/wpa_supplicant.conf

    ==[cut]==
    network={
    ssid="your SSID"
    psk=[мног 16х цифр]
    }
    ==[cut]==
    ...

    ОтветитьУдалить
  5. Доврый день...
    Хотел уточнить как обстоят дела с видео определил ли он его нормально ?
    У меня на другом дивайсе вайфай тоже sd8686 ... так вот думаю как бы его запустить ...
    HTC Shift и тач у него странно работает по Х двигается нормально а по Y зеркально...

    ОтветитьУдалить
    Ответы
    1. я X-ы на нем не запускал, а текстовая консоль работает отлично. Х и тачскрин просто не нужны, т.к. использую этот девайс как собиралку температурных логов и фоток с ip камеры. хожу на него только через ssh.

      Удалить
  6. Тут есть некоторая информация но она уж очень устарела...
    http://pof.eslack.org/2008/04/14/linux-on-htc-shift/

    ОтветитьУдалить
    Ответы
    1. юбунта в новых версиях обычно улучшается, так что я бы не сильно переживал и ставил бы последнюю LTS

      Удалить
    2. Я как раз ее и поставил... но пока у меня 3 проблемы... нет вайфай, тач работает некоректно,ну и както она большивата для такого маленького экрана... ну и по мелочам там блютус и всякая такая дребедень...

      Удалить
    3. wifi и 3g после холодного рестарта по умолчанию обесточены. Их нужно включить через манипуляции описанные в шаге 7ом и не забыть добавить в скрипты на старте

      Удалить
  7. Здравствуйте =) купил себе этого зверя... Но убунта 13.10 на нем откровенно тупит при роботе с флешки и тач скрин плохо работает =) это можно как то решить?

    ОтветитьУдалить
  8. Добрый день.
    Хотелось бы установить на зверька linux, но не могу разобраться с EC для включения wifi и прочего. У Вас сохранилась ли утилитка benqs6_ec.pl? Могли бы выложить ее куда-нибудь или на почту?

    ОтветитьУдалить
    Ответы
    1. да, где-то есть - гляну на днях - обновлю ссылку

      Удалить
    2. а вот и ссылка https://dl.dropboxusercontent.com/u/10489852/benqs6_ec.pl

      Удалить
    3. Работает Ubuntu 16.10?? все устройства поддерживаются?? Много нужно делать дополнительных настроек?

      Удалить
    4. У кого еще остался benqs6_ec.pl, выложите плиз )

      Удалить
  9. Прошло два года.
    18.04 работает?...

    ОтветитьУдалить
  10. Прошло два года.
    Боюсь спрашивать о 20.04....

    ОтветитьУдалить