|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Zahar Kiselev 2:5030/382.1 13 Apr 2004 16:32:30 To : All Subject : Genius LAN E3000II --------------------------------------------------------------------------------
Я заставил работать под Линуксом тот адаптер LPT->ethernet, о котором
несколько дней назад спрашивал. К сожалению - тот драйвер atp.c, который
поставляется с ядром и должен с ним работать - все же не работает. Причем
судя по результатам поска в Гугле - не только у меня. Еще испанец какой-то
жаловался:) Однако я нашел альтернативный драйвер, написанный неким чехом,
но этот драйвер не захотел собираться с установленным у меня ядром 2.4.24.
Там кроме всяких многочисленных мелочей типа несоответствия имен переменных и
макросов, была и одна существенная неточность - драйвер дважды требовал себе
прерывание - сначала при загрузке модуля, а потом при инициализации интерфейса.
В результате второй раз запрос прерывания завершался с ошибкой -16 и драйвер не
работал. Также небыли правильно объявлены параметры, передаваемые в командной
строке, в результате чего они не воспринимались. И еще не заполнялись два поля в
структуре описания устройства (имя и адрес подпрограммы инициализации).
Я все это поправил. Остались только несколько малозначительных предупреждений
при компиляции, чтобы убрать которые нужно много переписывать, чего я делать не
стал потому что работает и так. Проверил с двунаправленным (bidirectional) и
"классическим" принтерным портом. С EPP не проверял в виду отсутствия на
ноутбуке, к которому я это все присобачиваю.
В связи с вышеизложенным обращаюсь с просьбой к тем, кто в совершенстве владеет
английским языком - прошу помочь переслать исправленный исходник с необходимыми
пояснениями Дональду Бекеру(Donald Becker) - разработчику сетевых драйверов, в
том числе atp.c. Возможно он сделает из двух драйверов - своего и чешского -
один универсальный. Так как чешский драйвер все же в большей степени напоминает
"инженерный макет", хотя и вполне работоспособен, а я не настолько в
совершенстве знаю Си и ядро Линукса чтобы заниматься оптимизацией. В частности
например если забыть указать адрес порта и прерывание - то ядро выплевывает
segmentation fault(но не виснет при этом, что меня удивило), хотя если не
забывать писать необходимые параметры - то все в порядке. Также не работает (или
я не знаю как правильно использовать) функция загрузки драйвера при отключенном
адаптере - потому что если потом его присоединить - он все равно не
инициализируется.
Суммируя вышеизложенное можно сказать, что теперь ethernet pocket adapter
Genius LAN E3000II c номером печатной платы K0234009 v2.0 и микросхемой rtl8012
можно считать полностью работающим под линуксом. Проверено с ноутбуком COMPAQ
Contura 4/25cx - доступ по ssh - есть.
Zahar(@spbdept.rbc.ru)
--- Msged/LNX 6.1.1
* Origin: Остров Большой Березовый: http://birch-island.spb.ru (2:5030/382.1)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3288407c2242.html, оценка из 5, голосов 10
|