[Hardware] Не работает PCMCIA на старом notebook (Compact)

"Вадим Левченко" vadimlevchenko на mail.ru
Вт Май 18 03:25:50 MSD 2004


> ВЛ> subj.
> ВЛ> notebook: Dell Latitude LM (Pentium 133)
> ВЛ> PCI PCMCIA controller: Cirrus Logic CL-PD6730 или CL-PD6729
> ВЛ> (по крайней мере в /etc/sysconfig/hwconf прописался именно
> ВЛ> CL-PD6729)
> ВЛ> диагностика:
> ВЛ> ... yenta_socket.o: init_module: No such device...
> 
> ВЛ> На redhat 7.0 (ядро 2.2.16) работает.
> ВЛ> причем там PCIC=i82365 (в /etc/sysconfig/pcmcia),
> 
> ВЛ> но с ним в Compact тоже:
> ВЛ> ... i82365.o: init_module: No such device...
> 
> ВЛ> В PCMCIA.HOWTO нашел следующее:
> ВЛ>   In the standalone pcmcia-cs drivers, the i82365 module supports both
> ВЛ>   ISA-to-PCMCIA, PCI-to-PCMCIA, and PCI-to-CardBus bridges.  The CardBus
> ВЛ>   socket driver in the 2.4 tree is the yenta_socket driver.  It is
> ВЛ>   selected by the CONFIG_CARDBUS option.  In your PCMCIA startup
> ВЛ>   options, this driver should be specified in place of the i82365
> ВЛ>   driver.  The kernel version of the i82365 driver, selected by
> ВЛ>   CONFIG_I82365, only supports ISA-to-PCMCIA bridges.  PCI-to-PCMCIA
> ВЛ>   bridges that are not CardBus capable, like the Cirrus PD6729, are not
> ВЛ>   supported at all by the kernel PCMCIA drivers.
> 
> ВЛ> Чего делать?
> 
> Увы, с аналогичным вопросом (AMS Rodeo, номер не помню, PCMCIA на чипе
> от TI) я обращался не раз, начиная с Мастера 2.0 (Спринг работал
> нормально с модулем для i82365), но сколь-нибудь вразумительного
> ответа ни разу не получил. Что-то там в модулях сломалось, но первые
> "Пни" тогда уже были устаревшими, и похоже широкую общественность эта
> проблема не взволновала, а у меня квалификации и/или времени не
> хватило... Проблема снялась только после смена ноутбука... :-(

Понятно. Notebook я выкидывать не собираюсь, потому буду пытаться сам...
Для решения проблемы я решил собрать ядро с выключенной pcmcia поддержкой, и дополнительно поставить оригинальный пакет pcmcia-cs, в котором как бы поддержка не-CardBus мостов обещана.

После некоторых мучений с исходниками ядра из Compact-а (так и не понял как их устанавливать, если кто расскажет, буду благодарен), все же скачал с kernel.org оригинальные, 2.4.26. Собрал и поставил. Собрал также модули pcmcia-cs.
Однако любые модули pcmcia-cs отказываются запускаться (insmod) с диагностикой:
unresolved symbol ... (по несколько штук на модуль)
среди этих "unresolved symbols" что-то вроде ioremap, iounmap и т.п., хотя ksyms что-то из подобного вроде содержит (чстно говоря, не уверен, что смотрел именно на том notebook-е).

После некоторых раздумий, решил на всякий случай поставить ядро 2.4.23 вместо 2.4.26 (так как последняя версия pcmcia-cs на нем, насколько я понимаю, тестировалась).
Завтра, вероятно, завершу установку.
Если unresolved symbols останется... как это исправлять, пока мне непонятно.

Да, ядро собирал gcc 3.2.3 (из Compact-а). Собирается и работает вроде без проблем.


Подробная информация о списке рассылки Hardware