Asus A3500L - самый дешевый ноутбук из серии A3. Чипсет i852 со встроенным видео, звуком и прочим всем, чем можно. Экран 1024x768 15''. Винт на 40 Гб. Предустановленная WinXPHome.
Sarge - Debian, которого все долго ждали.
Здесь будут описаны проблемы, возникшие в результате установки этой операционной системы на этот ноутбук. Некоторые из них относятся к настройке Debian для работе с ноутбуками вообще, некоторые - вообще к настройке и использованию этой операционной системы, некоторые могут иметь отношение конкретно к данному железу.
Также настоятельно отсылаю к wiki-страничке DebianAtLaptop, которая честично повторяет эту, но содержит также много других интересных данных.
Установка производилась с оригинального загрузочного DVD Debianа, к сожалению, одного, который сопровождал выпуск журнала Linux Format. Загрузка с DVD никаких проблем не вызвала, благо, BIOS машины позволяет при нажатии Esc выбрать загрузочное устройство не заходя в сам BIOS Setup. При установке были выбраны следующие опции:
Новая программа установки Debian весьма порадовала большей дружественностью к пользователю (по сравнению с Potato).
***
Debian был обновлен до версии 3.1r1. Ядро обновлено до версии 2.6.12 (пакет linux-image-2.6.12-1-686
).
Обновления были любезно предоставлены
J2A.
***
Собран свой вариант ядра 2.6.12. Отключена поддержка отсутствующих устройств. Применен Software Suspend2 патч версии 2.1.9.9.
***
Debian обновлен до 3.1r2. Установлены Firefox и Thunderbird 1.5 c
backports.org.
Минуя систему пакетов установлены (распакованы в /opt
:) русский OpenOffice.org 2.0.3 и
Eclipse 3.2.0.
Debian не загружает автоматически модули ядра, ответственные за управление питанием - ACPI. Достаточно добавить в файл
/etc/modules
следующие строчки:
#ACPI modules asus_acpi #ноутбук все же ASUS battery ac thermal button fan
После чего появляется возможность настроить индикатор зарядки батареи и прочие стандартные штуки KDE, связанные с управлением питанием.
После установки пакета acpi
появляется одноименная утилита командной строки, которая показывает некоторые
параметры из /proc/acpi
.
Также стоит установить acpid
. Этот демон "слушает" ACPI-события ядра и предпринимает определенные
действия. С конфигурацией по умолчанию демон реагирует на нажатие кнопки Power - это приводит к завершению сеанса
KDE и выключению компьютера. Кстати, скрипт запуска демона автоматически пытается загрузить нужные модули ядра,
так что, вероятно, можно обойтись без редактирования /etc/modules
.
При выключении питания как из графической оболочки, так и консольными командами halt
или
poweroff
компьютер выключается, но тут же снова включается и пытается загрузиться. В Windows все
работает нормально. Вероятно требуется пересобрать ядро или обновить BIOS.
После обновления ядра до версии 2.6.12 (установки пакета linux-image-2.6.12-1-686
)
проблема самоустранилась.
Не работают режимы энергосбережения save-to-ram и save-to-disk. При попытке перейти в эти режимы из KDE получаем в логах:
Dec 28 15:42:17 asus kernel: PM: Preparing system for suspend Dec 28 15:42:21 asus kernel: Stopping tasks: ======================================================================| Dec 28 15:42:21 asus kernel: PCI: Setting latency timer of device 0000:00:1d.7 to 64 Dec 28 15:42:21 asus kernel: Could not suspend device 0000:00:1d.7: error -5 Dec 28 15:42:21 asus kernel: ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 18 (level, low) -> IRQ 185 Dec 28 15:42:21 asus kernel: ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 17 (level, low) -> IRQ 201 Dec 28 15:42:21 asus kernel: PCI: Setting latency timer of device 0000:00:1f.5 to 64 Dec 28 15:42:21 asus kernel: ACPI: PCI interrupt 0000:00:1f.6[B] -> GSI 17 (level, low) -> IRQ 201 Dec 28 15:42:21 asus kernel: PCI: Setting latency timer of device 0000:00:1f.6 to 64 Dec 28 15:42:21 asus kernel: PCMCIA: socket ce74842c: *** DANGER *** unable to remove socket power Dec 28 15:42:21 asus kernel: PCMCIA: socket ce3c642c: *** DANGER *** unable to remove socket power Dec 28 15:42:21 asus kernel: ACPI: PCI interrupt 0000:01:05.2[?]: no GSI Dec 28 15:42:21 asus kernel: Restarting tasks... done
После обновления ядра до версии 2.6.12 save-to-ram заработал, однако после пробуждения не включается
экран. Однако важнее save-to-disk. Он не работает. Ни за командой из KDE, ни за консольной командой
echo "5" > /proc/acpi/sleep
не следует никакой реакции ядра.
***
Ну что ж, совет, приведенный на вышеуказанной wiki странице действительно работает. Делаем:
hibernate
с этим скриптом, но он почти наверняка будет древнее
патча о чем и скажет в виде warning при попытке запуска. Корректно работать старый скрипт
с новым патчем, конечно не будет. Версии патча и скрипта нумеруются самостоятельно, но можно
ориентироваться на дату выхода./boot/grub/menu.lst
добавился в
строку kernel
для нужного ядра параметр resume2=swap:/dev/hda2
/etc/rcS.d
, см. README/usr/local/sbin/hibernate
.
В том же README есть примеры прикручивания к acpid.
И немного о настройках hibernate. Основной файл конфигурации - /etc/hibernate/hibernate.conf
.
Посмотреть все опции можно выполнив hibernate -h
.
UnloadModules hsfmc97ich
.Unmount /media/usb0
.LockKDE yes
.
При установке системы по умолчанию предлагался видео-драйвер vesa. В этом случае X window работает, но OpenGL
подтормаживает, масштабирование видео оставляет желать лучшего. Необходимо поправить файл
/etc/X11/XF86Config-4
, чтобы описание видеокарты выглядело следующим образом:
Section "Device" Identifier "Generic Video Card" # Driver "vesa" Driver "i810" EndSectionОказывается, что встроенные в чипсет от Intel видеоадаптеры, с i810 по i915 включительно, для Linux одинаковы. Вероятно, достаточно было выбрать нужный адаптер при установке.
Под Windows встроенный touchpad позволяет "щелкать" мышкой, постукивая по его поверхности; перетаскивать объекты, не пользуясь кнопками под touchpadом; прокручивать окна, двигая палец по краю устройства (особенно важное для меня свойство). В Debian же всех этих удобств мы не наблюдаем.
Достаточно установить пакет xfree86-driver-synaptics
(не путать с программой управления пакетами,
которая называется Synaptic, без s в конце). После чего необходимо поправить /etc/X11/XF86Config-4
согласно описанию в /usr/share/doc/xfree86-driver-synaptics/README.Debian
:
Section "Module" ... Load "synaptics" EndSection
Section "InputDevice" Driver "synaptics" Identifier "Configured Mouse" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "LeftEdge" "1700" Option "RightEdge" "5300" Option "TopEdge" "1700" Option "BottomEdge" "4200" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.06" Option "MaxSpeed" "0.12" Option "AccelFactor" "0.0010" EndSection
Также в Debian есть пакет ksynaptics
, позволяющий настраивать поведение touchpad из KDE,
но у меня на диске его, к сожалению, не оказалось.
Существует две раскладки русских букв на клавиатуре: "машинопись" - более старая, где точка и запятая набираются с Shift на верхних цифровых клавишах; и от Windows, где точка и запятая находятся возле буквы Ю. На большинстве клавиатур (в том числе и этого ноутбука) нанесена раскладка Windows, а Debian предлагает по умолчанию "машинопись".
Для переключения на Windows раскладку надо добавить параметр XkbVariant в секцию конфигурации клавиатуры
файла /etc/X11/XF86Config-4
, чтобы она выглядела так:
Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru" Option "XkbVariant" ",winkeys" #вот новый параметр Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" EndSection
Можете также почитать документацию в каталоге /usr/share/doc/xxkb
.
В отличие от клавиш регулировки яркости дисплея, клавиши регулировки громкости должны обрабатываться программно.
Однако их коды не передаются X серверу или консоли, но перехватываются ACPI демоном. Итак, нам необходимо
установить пакеты acpid
и alsa-utils
. В последнем нам нужен консольный ALSA микшер
amixer
, если вы используете другую систему звука (скажем, OSS), вам придется поправить приведенные
ниже команды.
Настроим acpid
. Создадим файлы, описывающие обработчики событий:
Файл /etc/acpi/events/snd_mute
:
event=hotkey ATKD 00000032 action=/usr/bin/amixer -q sset Master toggle
Файл /etc/acpi/events/snd_vol_up
:
event=hotkey ATKD 00000030 action=/usr/bin/amixer -q sset Master 10%%+,10%%+
Файл /etc/acpi/events/snd_vol_down
:
event=hotkey ATKD 00000031 action=/usr/bin/amixer -q sset Master 10%%-,10%%-
См. документацию man acpid
и man amixer
.
Имеем два способа переключения раскладок клавиатуры:
Средствами X Server.
Способ переключения раскладки определяется в файле конфигурации:
Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
Средствами оконного менеджера. В KDE настраивается через Control Center - Regional & Accessibility - Keyboard Layout.
Второй вариант перевесил. Переключение средствами X сервера отключено комментированием строки с параметром
XkbOptions
. Для переключения раскладок я назначил сочетание Alt+Space, по аналогии с MacOS, где
используется Command+Space.
Имеем типичный win-модем - на com-порту никто не откликается. Смотрим, что за зверь:
# lspci ... 0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03) 0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03) ...
Во многих Интернет-источниках (например на
ru.wikibooks.org)
утверждается, что это модем
SmartLink и для работы с ним нужен slmodemd
.
Этот демон существует в виде пакета sl-modem-daemon
, к сожалению в разделе non-free.
Демон может работать с модемом либо через свой модуль ядра slamr
, исходные коды для сборки
которого доступны в пакете sl-modem-source
, либо через ALSA ядер 2.6 (необходимо наличие
модуля ядра snd-intel8x0m
). Первый вариант у меня не сработал:
# modprobe slamr # slmodemd error: mdm setup: cannot open dev `/dev/slamr0': Device or resource busy error: cannot setup device `/dev/slamr0'Т.е. модуль заружается успешно, но устройство не работает.
Второй вариант тоже не работает. Модуль загружается и работает, /dev/modem
успешно создается,
модем (демон) отвечает на AT команды, но при попытке набрать номер неизменно отвечает NO DIALTONE
.
***
Еще один "linmodem" - mwave - тоже (вполне ожиданно) не работает:
# modprobe mwave FATAL: Error inserting mwave (/lib/modules/2.6.12-gelin-A3L/kernel/drivers/char/mwave/mwave.ko): Input/output error
***
Более пристальные исследования показывают вот что (необходимо, чтобы модуль slamr
отсутствовал
в /lib/modules
текущего ядра):
# cat /proc/asound/oss/sndstat Sound Driver:3.8.1a-980706 (ALSA v1.0.9rc2 emulation code) ... Card config: Intel 82801DB-ICH4 with ALC650F at 0xf800400, irq 169 Intel 82801DB-ICH4 Modem at 0xe200, irq 169 Audio devices: 0: Intel 82801DB-ICH4 (DUPLEX) 1: Intel 82801DB-ICH4 Modem - Modem (DUPLEX) ... Mixers: 0: Realtek ALC650F 1: Conexant id 22У нашего модема чипсет не SmartLink, а Conexant. Просмотр сведений о модеме под Windows и сведения сайта linuxant.com (у нашего модема PCI ID = 8086:24C6) говорят также, что это, так называемый, HSF модем. Однако, нужного драйвера в числе пакетов Sarge не нашлось.
***
Ищем и качаем драйвера с linuxant.com. В первую очередь сильно огорчила лицензия на драйвера. Перед вами, господа, образец НЕ свободного ПО. Вы имеете право лишь устанавливать драйвер на свой компьютер и распростанять бесплатную (FREE) версию драйвера. К тому же бесплатная версия ограничивает скорость вашего модема 14 Кбит/с. Платная версия снимает эти ограничения и стоит около $20.
Я взял драйвера версии 7.43.00.01 в виде deb-пакета. При установке пакета запускается скрипт, который запрашивает
местоположения исходников ядра, собирает модули (таки из исходников?), запрашивает e-mail, выдает
"серийный номер" драйверов и запрашивает "код активации" (по умолчанию это FREE, чем я и воспользовался).
После установки в каталоге /lib/modules/<версия ядра>/extra
появились файлы hsf*.ko
-
модули ядра нашего модема. В моем случае нужен модуль hsfmc97ich
, однако он конфликтует с
имеющимся в системе snd-intel8x0m
. В общем, я не стал ломать голову и просто перезагрузился.
Ну что ж, на первый взгляд модем вроде работает. Есть /dev/modem
, который отвечает на AT команды.
При попытке набрать номер модем "поднимает трубку" - слышны гудки, такого не было со всеми предыдущими
драйверами. Однако тоновый набор, это хорошо, но моя АТС его не понимает. А при импульсном наборе "щелчки"
модема идут на фоне непрерывного гудка АТС, не воспринимает она наши попытки набрать номер. А под Windows
ведь все нормально.
Проблема не решена.
Имеем:
Не имеем:
Хотим:
Все более-менее подробно изложено в статьях на omsk.lug.ru и phd.pp.ru. Подытожим для нашего случая.
Нужны модули ядра:
$ tail -5 /etc/modules #IRDA of Siemens ME45 modules ircomm ircomm_tty sir_dev irtty_sir
Нужны программулины. Не уверен насчет OBEX (кажется, он нужен для доступа к flash памяти телефона),
но утилиты для работы с IRDA (irattach
) нужны точно:
$ dpkg-query --list *irda* ii irda-utils 0.9.16-9 IrDA management and handling utilities $ dpkg-query --list *obex* ii libopenobex-1.0-0 1.0.0-rel-3 OBEX protocol library ii obexftp 0.10.7-3 file transfer utility for devices that use the OBEX protocol
Нужно настроить KPPP (мы ведь без GUI не могем :) (показаны только самые интересные настройки):
$ cat ~/.kde/share/config/kppprc | konwert utf8-koi8r [Account1] AutoDNS=1 AutoName=0 DNS= DefaultRoute=1 Gateway=0.0.0.0 IPAddr=0.0.0.0 Name=Beeline Password=beeline Phonenumber=*99***1# SubnetMask=0.0.0.0 Username=beeline pppdArguments=debug [Modem1] Device=/dev/ircomm0 DialString=ATDT Enter=CR FlowControl=Аппаратное [CRTSCTS] InitString=AT+CGDCONT=1,"IP","internet.beeline.ru" Name=ME45 Speed=115200 Timeout=120
Нужно настроить pppd
(настройки по умолчанию не годятся). Я использовал файл конфигурации
$HOME/.ppprc
, т.к. планировал использовать KPPP и не собирался пользоваться другим модемом,
подробности смотрите в man pppd
:
$ egrep -v ^\ *#\|^\ *$ ~/.ppprc lcp-echo-failure 0 lcp-echo-interval 0 /dev/ircomm0 115200 # fast enough crtscts # serial cable, Bluetooth and USB, on some occasions with IrDA too local noipdefault ipcp-accept-local defaultroute replacedefaultroute usepeerdns novj nobsdcomp novjccomp nopcomp noaccomp nodeflate
После этих манипуляций и при наличии денег на счету, все работает.
asus:/# lspci | grep Ricoh 0000:01:05.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac) 0000:01:05.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac) 0000:01:05.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 04)
При вставке SD карточки получаем:
asus:/# cardmgr asus:/# tail -3 /var/log/daemon.log Mar 21 23:25:45 asus cardmgr[7532]: starting, version is 3.2.5 Mar 21 23:25:45 asus cardmgr[7532]: unsupported card in socket 0 Mar 21 23:25:45 asus cardmgr[7532]: product info: "RICOH", "Bay1Controller"
Гугление показало, что драйверов под Linux, даже закрытых, нет. И Ricoh отказывается опубликовывать спецификации. Есть экспериментальный драйвер, но мне не удалось его собрать.
Проблема не решена.
Хотелось бы, чтобы USB-flash брелки при подключении монтировались бы автоматически. Полной автоматизации не получилось, но статья на www.debianhelp.org подсказала некоторые интересные детали.
Строчка в /etc/fstab
у меня выглядит так:
/dev/sda1 /media/usb0 auto rw,user,users,noauto,noatime,codepage=866,iocharset=koi8-r 1 2
Проблема решена не полностью.
Вместо текста пунктов меню видны прямоугольники. В то же время, отдельные англоязычные пункты меню отображаются
нормально. Пришлось удалить пакет openoffice.org-l10n-ru
. После этого все меню стало английским, но
зато стало отображаться.
Потом я сделал две вещи:
ttf-freefont
, xfonts-cronyx-75dpi
.windows/Fonts/*.ttf
) в каталог
/usr/X11R6/lib/X11/fonts/TrueType
К сожалению не знаю, что именно помогло, но после этого проблема с русскими буквами в OpenOffice исчезла.
openoffice.org-l10n-ru
я поставил обратно.
***
При установке русского OpenOffice.org 2.0.3 проблема не повторялась.
В X Window во многих местах, в частности в заголовках окон KDE размер русских букв отличается от размера латинских букв, хотя шрифт один и тот же.
***
Хм. А проблема-то действительно в шрифтах. Шрифты по умолчанию, используемые в KDE (Beatstream Vera...), как раз и выглядят так странно. Такое ощущение, что русские буквы вообще отображаются другим шрифтом. Если выбрать что-нибудь вроде FreeMono, FreeSans или даже виндовые Arial, Courier New, Lucida Console (которые, как это ни печально, выглядят лучше всех), то все становится на свои места. Однако все равно, разные шрифты одного размера почему-то имеют разную высоту.
Проблема решена?
Не нравился вид GTK (т.е. GNOME) приложений под KDE. По умолчанию использовалась не вполне красивая тема
с плоскими квадратными кнопками и изменения, вносимые через Панель Управления GNOME, сохранялись только в
текущем сеансе работы. Оказалось, что достаточно установить пакет gtk2-engines-gtk-qt
и в Центре Управления KDE появляется новый пункт "GTK Styles and Fonts", где можно выбрать Qt (т.е. KDE)
тему для GTK приложений. Теперь все GNOME программы выглядят также как "родные" KDE приложения.
Denis Nelubin, Dec 2005 - Mar 2007