Asus A3500L, он же A3L - самый дешевый ноутбук из серии A3. Чипсет i852 со встроенным видео, звуком и прочим всем, чем можно. Экран 1024x768 15''. Винт на 40 Гб.
Kubuntu 7.10, он же Kubuntu Gutsy Gibbon (переведем как Грозный Гиббон), он же основанный на KDE дистрибутив Ubuntu - вышел в октябре 2007 года.
Здесь будут описаны проблемы, возникшие в результате установки этой операционной системы на этот ноутбук. Некоторые из них относятся к настройке Ubuntu для работе с ноутбуками вообще, некоторые - вообще к настройке и использованию этой операционной системы, некоторые могут иметь отношение к улучшению работы какого-либо ПО.
Про работу предыдушей версии Kubuntu (Feisy Fawn) на этом ноутбуке, можно прочитать в предыдущей статье. Про Debian также была статья.
Kubuntu был обновлен с предыдущей версии. Понадобился Интернет через выделенную линию с "анлимитным" тарифом. Скорости в 64 кбит/с оказалось достаточно, чтобы выкачать около полутора гигабайт обновлений, хотя процесс и занял весьма продолжительное время.
"Стандартный" способ обновления,
описанный на официальном сайте, не сработал.
sources.list
обновился, пакеты скачались,
но при установке произошла ошибка. Пришлось запускать
apt-get upgrade
вручную. В этом случае процесс
выглядит гораздо более подробным, и если какой-нибудь скрипт
требует взаимодействия, это взаимодействие можно осуществить.
Ядро стало 2.6.22.
Наткнулся на странный и трудновоспроизводимый баг, выражающийся в падении X сервера при возпроизведении в Kaffeine некоторых видео-файлов. (А падение X сервера, оказывается, отвратительная штука: прощай сессия и несохраненные изменения :( )
Оказывается, я пользовался устаревшим (для Gutsy) драйвером
видео-карты. Вместо драйвера "i810"
следует
использовать драйвер "intel"
, и секция файла
/etc/X11/xorg.conf
должна выглядеть так:
Section "Device" Identifier "Intel Corporation 82852/855GM Integrated Graphics Device" # Driver "i810" Driver "intel" BusID "PCI:0:2:0" EndSection
Баг вроде не повторяется...
***
И все-таки
повторился, немного по другому,
и уже с драйвером "intel"
.
Будем ждать исправления.
Чудом (спасибо
Iri)
приобрел мини-PCI Wi-Fi карточку
Intel 2200BG. Работает "из коробки". Используется модуль
ядра ipw2200
, беспроводный сетевой адаптер
видится как eth1
(eth0
- это
"проводной" Ethernet). Сочетание клавиш Fn+F2,
которое включает и выключает Wi-Fi, успешно работает.
С точки зрения Линукса это выглядит как выдергивание кабеля
из обычного Ethernet: интерфейс поднят, а линк - то есть, то нет.
Доступ к Интернет сделал через беспроводный маршрутизатор. Подключение к провайдеру осуществляет маршрутизатор, т.е. на нем задается логин и пароль. Значит, подключение необходимо максимально защитить. Вот что я сделал:
Устаревший и небезопасный вариант шифрования, тем не менее, в некоторых старых точках доступа имеется только он. Ключом шифрования выступает 64 или 128 битное число, известное точке доступа и клиенту. Можно указать HEX код или ASCII строку.
Все, что связано с WEP, содержится в пакете
wireless-tools
. Утилита iwconfig
показывает много интересных и полезных параметров, а также
позволяет произвести найстройку интерфейса (собственно, указать
SSID и ключ шифрования). Но мне было проще и удобнее отредактировать
файл /etc/network/interfaces
, получилось так:
auto eth1 iface eth1 inet static address 192.168.0.2 netmask 255.255.255.252 gateway 192.168.0.1 wireless-essid my-ssid # 26 HEX цифр или ASCII пароль (префикс "s:" в пароль не входит) wireless-key 01234567890123456789012345 #wireless-key s:mypassword wireless-keymode restricted
Подробности читайте в файле
/usr/share/doc/wireless-tools/README.Debian
.
Гораздо более правильный вариант шифрования. На самом деле тут есть целая куча вариантов, но мы остановимся на том, что в точке доступа называется "WPA-PSK/WPA2-PSK". Ключ шифрования здесь тоже задается в виде HEX кода (64 разряда) или ASCII пароля (32 символа) в точке доступа и на клиенте.
Для работы с WPA имеется пакет wpasupplicant
.
Тем не менее, утилита iwconfig
остается полезной,
ибо показывает MAC-адрес точки доступа и уровень сигнала.
Есть еще и пакет kwlan
, который представляет
собой frontend для wpasupplicant
, но я им
не пользовался.
Вообще-то wpa_supplicant
- это демон, который
умеет искать доступные Wi-Fi сети и настраивать сетевые адаптеры.
Но в Debian, все весьма удобно встроено в стандартные скрипты
сетевых настроек. Так что /etc/network/interfaces
теперь выглядит так:
auto eth1 iface eth1 inet static address 192.168.0.2 netmask 255.255.255.252 gateway 192.168.0.1 # внимание! ssid, а не essid, как в предыдущем случае wpa-ssid my-ssid # здесь можно указать MAC-адрес точки доступа #wpa-bssid aa:bb:cc:dd:ee:ff # 64 HEX цифры или ASCII пароль (нет префиксов) wpa-psk 0123456789012345678901234567890123456789012345678901234567890123 # следующие два параметра нужны, если наш SSID скрыт #wpa-ap-scan 2 #wpa-scan-ssid 1
В процессе "подбора" настроек наткнулся на проблему подключения
к точке доступа со скрытым SSID. А наша точка доступа таковой
и является. В документации сказано, что необходимо установить
параметры wpa-ap-scan
и wpa-scan-ssid
,
и что сканирование может занять много времени.
Мне это не помогло (может, не дождался окончания сканирования),
установить соединение получалось только различными манипуляциями
через клиент wpa_cli
(запускать от root).
"Открыл" SSID и проблема исчезла.
Ну что ж, пусть будет открытым.
Подробности читайте в файле
/usr/share/doc/wpasupplicant/README.modes.gz
.
Есть еще
баг,
выражающийся в том, что wpa_supplicant
не
запускается при первом старте системы, и, соответственно,
соединение не устанавливается. Лечится правкой
/etc/udev/rules.d/85-ifupdown.rules
и
/etc/init.d/networking
.
Оригинальный патч у меня не применился, мой же
получился такой:
--- /etc/init.d/networking +++ /etc/init.d/networking 2008-01-11 20:45:18.000000000 +0600 @@ -10,10 +10,18 @@ PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" +INIT_FLAG=/var/run/network/initialized + [ -x /sbin/ifup ] || exit 0 . /lib/lsb/init-functions +net_flag_up () { + touch $INIT_FLAG > /dev/null 2>/dev/null || true +} +net_flag_down () { + rm -f $INIT_FLAG > /dev/null 2>/dev/null || true +} case "$1" in start) @@ -33,6 +41,7 @@ fi fi type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 15" || true + net_flag_up ;; stop) @@ -56,12 +65,15 @@ log_action_end_msg $? fi fi + net_flag_down ;; force-reload|restart) log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true + net_flag_down if ifup -a --exclude=lo; then + net_flag_up log_action_end_msg $? else log_action_end_msg $? --- /etc/udev/rules.d/85-ifupdown.rules +++ /etc/udev/rules.d/85-ifupdown.rules 2008-01-11 20:41:41.000000000 +0600 @@ -3,7 +3,7 @@ # removable. # See udev(7) for syntax. -SUBSYSTEM=="net", DRIVERS=="?*", GOTO="net_start" +SUBSYSTEM=="net", TEST=="/var/run/network/initialized", GOTO="net_start" GOTO="net_end" LABEL="net_start"
Есть фотоаппарат Panasonic DMC-LZ5. Этот фотоаппарат может работать с компьютером в двух режимах: "PictBridge(PTP)" и "PC".
В первом случае аппарат определяется как "USB Imaging Interface" и digiKam успешно скачивает фотографии. А вот видео нет.
gelin@asus:/$ lsusb ... Bus 001 Device 002: ID 04da:2374 Panasonic (Matsushita) ...
Во втором случае фотоаппарат определяется нашим KDE дважды:
gelin@asus:/$ lsusb ... Bus 001 Device 003: ID 04da:2372 Panasonic (Matsushita) Lumix DMC-FZ10 Camera ...
Все бы ничего, второй вариант второго случая позволяет скачать все с фотоаппарата все, что хочется. Но. Во втором случае оба варианта определения работают через раз, т.е. либо так, либо так, либо и так и так. При обращении к "флэшке" фотоаппарата диск в произвольный момент "отваливается" (будто отключили устройство) и даже бывало, что фотоаппарат "зависал" (действительно не отвечал, помогало только извлечение батареек).
Предполагаю, что такое плохое поведение в режиме "PC" вызвано именно
неправильным определением USB устройства. Ковыряюсь в конфигурации
udev
, hal
и libgphoto2
.
Проблема не решена.
Если вот такой скрипт:
#!/bin/sh DCOP="/usr/bin/dcop" FOLDER="/inbox" KMAIL="kmail KMailIface" MLED="/proc/acpi/asus/mled" echo 1 > $MLED UNREAD=1 while [ $UNREAD -gt 0 ] do sleep 5 UNREAD=$($DCOP $($DCOP $KMAIL getFolder $FOLDER) unreadRecursiveMessages) done echo 0 > $MLEDзапускать в обработчике события на получение новых писем, то красивая синяя лампочка будет загораться, когда придут новые письма, и будет гаснуть, когда письма будут прочитаны. Подробности расписаны в отдельной статье.
Denis Nelubin, Jan 2008