[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Ядро 2.6.16, thinkpad source и ALSA



Наконец-то мне удалось победить сборку относительно свежего ядра 2.6.x
с thinkpad-овскими модулями.

Использовались

linux-source_2.6.16-12
thinkpad-source_5.9-2.1
kernel-package_10.047

Для того, чтобы засунуть в stable систему свежий kernel-package,
которого требуют свежие версии linux-source потребовалось пересобрать
make, ну да это мелочи.

Картина наблюдалась следующая:

1, В README.Debian от пакета thinkpad-source написано, что для работы
модулей ядро 2.6.16 и выше должно быть собрано с опцией
CONFIG_OBSOLETE_INTERMODULE (и это правда - без нее модуль собирается,
но не грузится)

2. В make menuconfig и make config эту опцию нигде не предлагают. Более
того, если вписать её руками в .config, make oldconfig её оттуда сносит.

3, make-kpkg увидев изменившийся .config, запускает make oldconfig

Порочный круг, однако.

Победить удалось следующим кривым способом:

1. make-kpkg configure
Получаем .config со всеми нужными опциями кроме данной.
2. Редактируем .config, вписывая туда нужную опцию. 
3. Создаем копию конфига
4. make-kpkg configure 
Оно запускает make oldconfig, сносит опцию и обновляет timestamp своего
stamp-файла.
5, Заменяем .config на заботливо сохраненную на шаге 3 копию. У нее
timestamp старее чем у результатов шага 4.
6. make-kpkg kernel_image modules_image
Поскольку теперь make-kpkg уверен что configure последний раз делали
после изменения конфига, то все замечательно.

А вот ALSA на thinkpad 600 мне пока победить не удалось. Точнее, один
раз удалось добиться загрузки модуля snd-cs4232 с неправильным значением
irq, но работать он после этого не стал.

А так говорит:
pnp: Device 00:0e activated.
CS4232 WSS PnP manual resources are invalid, using auto config
CS4232 WSS PnP configure failed for WSS (out of resources?)
PnP BIOS detection failed for CS4232
pnp: Device 00:0e disabled.

При этом OSS-овский модуль cs4232 - работает. Но хочется ALSA для того
чтобы к ноутбуку USB-MIDI клавитуру подключать. 

$ /sbin/lspnp -v 0e 0f 10 11
0e CSC0000 Crystal PnP audio system CODEC
        io 0x0530-0x0537
        io 0x0388-0x038b
        io 0x0220-0x0233
        irq 5
        dma 1
        dma 3
0f CSC0010 Crystal PnP audio system control registers
        io 0x0538-0x053f
10 CSC0001 Crystal PnP audio system joystick
        io disabled
11 CSC0003 Crystal PnP audio system MPU-401 compatible
        io 0x0330-0x0333
        irq 10

Делаю modprobe snd-cs4232 с соответствующими  параметрами - ругается.

Грешил на то что в предыдущем ядре включена PNPBIOS, и выключена ISAPNP (pnp-bios нужна чтобы можно было setpnp пользоваться), включил и то и другое - результат не изменился. 
   



Reply to: