LINUX.ORG.RU

BCM4312 802.11b/g LP-PHY [14e4:4315]


0

0

Пытаюсь заставить работать сабж в Debian Squeeze, ядро 32. Всё делаю по инструкции с http://wiki.debian.org/bcm43xx#b43-b43legacy-squeeze

Всё ставится нормально, модуль загружается (lsmod подтверждает). К wi-fi подключиться не получается: не выдается ip-адрес через dhcp. На точке WEP, подключиться пытался как через wicd, так и вручную (dhclient wlan1 -v, не забыв iwconfig wlan1 essid ... и так далее).

wlan1     IEEE 802.11bg  ESSID:"linksys"  
          Mode:Managed  Frequency:2.437 GHz  Access Point: макточки   
          Bit Rate=1 Mb/s   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:ключ
          Power Management:off
          Link Quality=70/70  Signal level=5 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

# dhclient wlan1 -v

Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan1/мак
Sending on   LPF/wlan1/мак
Sending on   Socket/fallback

DHCPDISCOVER on wlan1 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on wlan1 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on wlan1 to 255.255.255.255 port 67 interval 10
DHCPDISCOVER on wlan1 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on wlan1 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on wlan1 to 255.255.255.255 port 67 interval 13
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
Linux breton 2.6.32-5-686 #1 SMP Sat Jul 24 02:27:10 UTC 2010 i686 GNU/Linux
dmesg
[ 2614.050388] cfg80211: Calling CRDA to update world regulatory domain
[ 2614.077217] Compat-wireless backport release: compat-wireless-2010-08-03-1-g3672499
[ 2614.077221] Backport based on linux-next.git next-20100806
[ 2614.083207] b43-pci-bridge 0000:0c:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 2614.083229] b43-pci-bridge 0000:0c:00.0: setting latency timer to 64
[ 2614.100729] ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x16, vendor 0x4243)
[ 2614.100747] ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x0F, vendor 0x4243)
[ 2614.100764] ssb: Core 2 found: PCMCIA (cc 0x80D, rev 0x0A, vendor 0x4243)
[ 2614.100782] ssb: Core 3 found: PCI-E (cc 0x820, rev 0x09, vendor 0x4243)
[ 2614.148548] ssb: Sonics Silicon Backplane found on PCI device 0000:0c:00.0
[ 2614.156432] b43-phy0: Broadcom 4312 WLAN found (core revision 15)
[ 2614.228739] phy0: Selected rate control algorithm 'minstrel'
[ 2614.229566] Registered led device: b43-phy0::tx
[ 2614.229584] Registered led device: b43-phy0::rx
[ 2614.229601] Registered led device: b43-phy0::radio
[ 2614.229661] Broadcom 43xx driver loaded [ Features: PMNLS, Firmware-ID: FW13 ]
[ 2614.252195] udev: renamed network interface wlan0 to wlan1
[ 2680.652315] b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23)
[ 2686.172555] b43-phy0 ERROR: Fatal DMA error: 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
[ 2686.172561] b43-phy0 ERROR: This device does not support DMA on your system. It will now be switched to PIO.
[ 2686.172564] b43-phy0: Controller RESET (DMA error) ...
[ 2686.404490] b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23)
[ 2691.917254] b43-phy0: Controller restarted
[ 2691.917830] ADDRCONF(NETDEV_UP): wlan1: link is not ready
[ 2693.212493] wlan1: authenticate with макточки (try 1)
[ 2693.214951] wlan1: authenticated
[ 2693.214971] wlan1: associate with макточки (try 1)
[ 2693.219568] wlan1: RX AssocResp from макточки (capab=0x431 status=0 aid=2)
[ 2693.219571] wlan1: associated
[ 2693.220643] ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[ 2703.384208] wlan1: no IPv6 routers present
[ 2739.500273] No probe response from AP макточки after 500ms, disconnecting.
[ 2739.520479] cfg80211: Calling CRDA to update world regulatory domain
Что не так? как можно заставить работать?

Ещё пытался завести через http://wiki.debian.org/wl#Squeeze , но при попытке подгрузить модуль wl произошла ошибка с выхлопом в dmesg

[ 2309.511201] wl: disagrees about version of symbol lib80211_get_crypto_ops
[ 2309.511206] wl: Unknown symbol lib80211_get_crypto_ops
Попытка подгрузить руками lib80211 ни к чему не привела.

// пока не пробовал руками поставить последние драйвера производителя и ndiswrapper, но это совсем какое-то извращение. // чуть-чуть ключевых слов: dell vostro 1015



Последнее исправление: Breton (всего исправлений: 1)

Здесь http://linuxwireless.org/en/users/Drivers/b43 говоря что нужно ядро 33 для 14e4:4315. НО у тебя хоть к точке прицепится смогло, у меня аналогичный девайс на аналогичном дебиане даже цеплятся не захотел с ошибкой

b43-phy0 ERROR: Fatal DMA error: 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

Я ставил дрова которые производитель дает

belka
()

К открытой точке тоже подключиться не получается, с новыми, вышеуказанными ядрами тоже не заработало.
Завтра попробую с нуля поставить дебиан с netinst-а и бубунту 10.04.

Breton
() автор топика

В общем решено.
1. Скачать последний или от даты этого поста compat-wireless (с wireless.kernel.org).
2. Скачать и установить ядра и заголовки по ссылке выше. Завтра посмотрю, можно ли что-то сделать с произвольными ядрами.
3. Установить b43. Инструкции в wiki дебиана, ссылка в первом посте.
4. Установить тот самый compat-wireless. Сделать make unload, перезагрузиться (или можно повозиться с модулями).

План на завтра: разобраться с автозагрузкой модуля.


Breton
() автор топика
Ответ на: комментарий от Breton

>План на завтра: разобраться с автозагрузкой модуля.

#apt-get install modconf
#modconf
ну и выбрать кого там грузить в автозагрузку ведра.

elipse ★★★
()
Ответ на: комментарий от elipse

Спасибо.

На 34 ядре после перезагрузки модули остались, на 32 - не загрузились.
Для 32 в интернете советуют при загрузке делать rmmod ssb; rmmod b43; sleep 3; modprobe b43; но это как-то не так. Сейчас буду искать, что можно сделать.

Breton
() автор топика
Ответ на: комментарий от Breton

Завёл на 32.
Не знаю точно, какой из способов ниже сработал.
1. depmod -a
2. Пересоздать initrd с помощью update-initramfs. Причём у меня оно наотрез отказалось обновлять существующие, пришлось сначала удалять через опцию -d, потом для каждого ядра создавать через -c -k версия.
На 32 работает, на 34-бубунтовском - не знаю, будет ли работать после всех этих манипуляций.


Чуть-чуть заметок.
Способ http://www.linux.org.ru/jump-message.jsp?msgid=5205365&cid=5206241 сработал почему-то не сразу. Может из-за кривых рук, может из-за чего-то другого.
Карточку у меня переименовывал udev из wlan0 в wlan1, было подозрение, что проблемы из-за этого. Меняется в /etc/udev/net-persistent-чтототам.
В процессе мучений полностью переставлял udev (было подозрение на какое-то кривое кастомное правило).

Модуль b43 может загрузиться не сразу, иногда нужно руками удалять его и ssb (rmmod b43; rmmod ssb) и потом грузить только b43.

Breton
() автор топика

В дровах из compat-wireless пока много багов, видно, пилят хорошо.

Сегодня исходящая скорость в интернет была почти на нуле, решил попробовать wl.

Ещё пытался завести через http://wiki.debian.org/wl#Squeeze , но при попытке подгрузить модуль wl произошла ошибка с выхлопом в dmesg

[ 2309.511201] wl: disagrees about version of symbol lib80211_get_crypto_ops

[ 2309.511206] wl: Unknown symbol lib80211_get_crypto_ops

Для того, чтобы такой ошибки не возникало, нужно НЕ ставить compat-wireless или, если уже поставили, удалить. Если не охото удалять, то можно просто переименовать /lib/modules/ядро/updates в /lib/modules/ядро/updates.old (можно, конечно, руками поперемещать модули в этой директории вместо того, чтобы переименовывать её всю, но мне было лень).

Breton
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.