Ключевые слова:pcmcia, hardware, acpi, freebsd, (найти похожие документы)
From: Евгений Гридасов <eugrid@fpm.kubsu.ru.>
Newsgroups: email
Date: Mon, 14 Feb 2005 14:31:37 +0000 (UTC)
Subject: Работа PCMCIA во FreeBSD 5-Stable с включенным ACPI
Поводом написания этой статьи стало то, что во FreeBSD 5-Stable c
включенным ACPI у многих пользователей notebook'ов некорректно
определяются карточки pcmcia. Я поискал в сети информацию по этому
поводу, но к сожалению, кроме сообщений о таких же ошибках ничего не
нашел.
Итак, имеем:
- Ноутбук compaq armada e500.
- PCMCIA карточка compaq wavelan wl110.
Установка карточки с выключенным ACPI:
kernel: wi0: <Compaq Compaq WL110 PC Card> at port 0x180-0x1bf
irq 11 function 0 config 1 on pccard1
kernel: wi0: using Lucent Technologies, WaveLAN/IEEE
kernel: wi0: Lucent Firmware: Station (6.16.1)
kernel: wi0: Ethernet address: 00:02:a5:2d:15:43
kernel: wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
То есть, все ок.
Установка карточки с включенным ACPI:
kernel: wi0: <Compaq Compaq WL110 PC Card> at port 0x100-0x13f
irq 11 function 0 config 1 on pccard1
kernel: wi0: timeout in wi_cmd 0x0000; event status 0x8000
last message repeated 2 times
kernel: : init failed
kernel: device_attach: wi0 attach returned 6
Карточка не задетектилась.
Легко заметить что в первом случае порт 0x180-0x1bf а во втором - 0x100-0x13f
Но на этом порту уже висит последовательный порт:
sio1: <Generic IRDA-compatible device> port 0x100-0x107,0x3e8-0x3ef irq 3 drq 5 on acpi0
Естественно, ничего работать не будет.
Путем поисков в sysctl -a | grep hw. был найден некий параметр
hw.cbb.start_16_io, значение которого по умолчанию равно 256, то есть и
есть 0x100. Оказалось, все просто - достаточно поставить этот параметр в 384 (0x180):
sysctl -w hw.cbb.start_16_io=384
и при следующей установке карточки (о чудо!!!) все заработало:
kernel: wi0: <Compaq Compaq WL110 PC Card> at port 0x180-0x1bf
irq 11 function 0 config 1 on pccard1
kernel: wi0: using Lucent Technologies, WaveLAN/IEEE
kernel: wi0: Lucent Firmware: Station (6.16.1)
kernel: wi0: Ethernet address: 00:02:a5:2d:15:43
kernel: wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
Для удобства это значение было прописано в /etc/sysctl.conf
----
Надеюсь у Вас все заработает так же как у меня!
Евгений Гридасов, eugrid [at] fpm.kubsu.ru