Udv!
Most a nyar alatt elvoltam a notebook-ommal vezetekes halozattal am a tanev kezdessel mar jarogatni kell masfele is ezert nekialltam volna mukodesre birni a Broadcom wireless controller-t.
# pciconf -lv | grep Wireless
device = 'BCM4313 802.11b/g/n Wireless LAN Controller'
Naivan megorultem mikor megtalaltam a bwi/bwn driver parost am meglattam, hogy a BCM4313 nem tamogatott altaluk.
Tovabb keresve talaltam ndisgen megoldasokat, am ez amiket talaltam hol mukodott, hol nem. Raadasul atlagban amik voltak i386-ra voltak, nekem meg Amd64-re (FreeBSD 10.0-RELEASE amd64) kellene. Sajat magam meg nem probaltam ki az ndisgen-el megcsinalni mert hirtelenbe a driver fajlokat sem talaltam meg.
Ha valakinek sikerult mar ilyen wireless-t felelesztenie akkor leirasnak/tanacsnak orulnek.
- 5723 megtekintés
Hozzászólások
Ezen oldal szerint Ndisulatorral megy a kártyád: http://wiki.pcbsd.org/index.php/Wireless_Testing . És ugyan PC-BSD-ről szól, de a szövegben explicit módon FreeBSD szerepel. Én amúgy kb 2-3 évig hajtottam egy netbookot, amiben csak a wines driverrel lehetett megszólaltatni a wifi-t (valami rtl kártya), azt is csak elég trükkösen: ha /boot/loader.conf -ból töltöttem be a modult, csontrafagyott. Akkor találtam meg, hogy lehet /etc/rc.conf -ból is modulokat tölteni (a hivatkozott oldalon szerepel is a trükk: kld_list nevű változó). Szóval némi esélyed azért van.
- A hozzászóláshoz be kell jelentkezni
Másik irány:
- fel vannak téve a portsból a net/bwi-firmware-kmod illetve a net/bwn-firmware-kmod csomagok (man bwi és man bwn egyértelműen leírja, hogy ezekre szükség van, és be kell tölteni a modulokat)? Mert tudtommal azok nélkül a megfelelő driver nem tud mit csinálni.
Ráadásul most belenézve a /usr/src/sys/dev/{bwi|bwn} könyvtárbeli fájlokba (10.0-Amd64-es gépen), azt látom, hogy mind a kettőben van utalás a 4313-sra. A bwinél (ez ugye a régebbi driver) még azt is látom, hogy el van írva a neve, azaz a 4313-s kártyát 4312-nek azonosítja, míg a bwn-nél az látszik, hogy valamelyik lépésben külön ellenőrzi, h 4313-as-e a kártya, mert ha nem, akkor hibát ad vissza, ellenkező esetben csinálja tovább a dolgát.
Szóval a továbblépéshez minimum a teljes, erre a kártyára vonatkozó pciconf -os kimenetet dobd ide lécci! Meg persze azt is, hogy mit csináltál, ami alapján nem működőnek minősítetted.
- A hozzászóláshoz be kell jelentkezni
pciconf kimenet:
none2@pci0:3:0:0: class=0x028000 card=0x058714e4 chip=0x472714e4 rev=0x01 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'BCM4313 802.11b/g/n Wireless LAN Controller'
class = network
Amikor a bwi/bwn driver-eket megtalaltam akkor en csak a manual-t neztem meg hozzajuk es ott ugye a hardver listaban nem szerepel a BCM4313, ezert is nem probaltam meg veluk.
Am mivel irtad, hogy a forrasban van utalas a BCM4313-ra igy tettem vele egy probat. bwi/bwn-firmware-kmod felrakva. Modulkent if_bwn_load betoltve, meg kulon kldload-al is neztem ami ki is adja, hogy be van mar toltve.
Leirasok alapjan csinaltam a dolgokat, majd a vegere ennel az uzenetnel akadtam el:
ifconfig: SIOCIFCREATE2: Device not configured
Valamint az ifconfig is csak a lo0-t es re0-t ad vissza.
- A hozzászóláshoz be kell jelentkezni
Ha jol remlik, magat a fw-modult is be kell toltened neked magadnak, mert magatol mintha nem toltene be. A fw-csomagok telepitenek kernel-modulokat, azokat is probald kezzel betolteni (raadasul ugy remlik, hogy az interfesz modul elott - de ez kisse reg volt, szoval nem 100%. Valami ilyesmit kellene irni a /boot/loader.conf-ba:
bwn_v4_ucode_load="YES"
if_bwn_load="YES"
Persze a FW-modul nevet azert ellenorizd.
Szerk. Megneztem:
a bwi csomag /boot/modules/bwi_v3_ucode.ko, a bwn pedig /boot/modules/bwn_v4_lp_ucode.ko es /boot/modules/bwn_v4_ucode.ko nevu fajlokat telepit. Ebbol az _lp_ az a Low Power, vagy egyik, vagy masik toltendo be.
En ezt csinalnam:
pkg install -U b43-fwcutter
cd /usr/ports/net/bwi-firmware-kmod
make install clean
cd /usr/ports/net/bwn-firmware-kmod
make install clean
Ekkor ellenorizd, h megvan-e mind a 3 microkod modul:
ll /boot/modules -> itt kellene lenniuk, fent emlitett neven.
Dobald ki a kernelbol a betoltott Broadcom vackokat:
kldunload if_bwn
kldunload if_bwi
es probald vegig egyesevel:
a) kldload bwi_v3_ucode && kldload if_bwi
ha a pciconf kimeneteben mar nem noneX a drivere a kartyanak, vagy ha az ifconfig-ban mar latszik a bwi0 interfesz, akkor jo. Ekkor leszedheted a b43-fwcutter es a bwn-firmware-kmod csomagokat. Ha nem jo, szedd ki a kernel modulokat: kldunload if_bwi && kldunload bwi_v3_ucode es folytasd
b) toltsd be ugyanigy az egyik bwn FW-t es az interfesz modult:
kldload bwn_v4_ucode && kldload if_bwn
ellenorzes, sikeres esetben csomagtakaritas (nyilvan most a bwi a folosleges), sikertelen esetben modul kiszedes:
kldunload if_bwn && kldunload bwn_v4_ucode
c) es ugyanigy a LowPower FW-rel:
kldload bwn_v4_lp_ucode && kldload if_bwn
Ha a/b/c valamelyike eremenyeent lett interfesze, jo. Ha nem, akkor marad egy usb-s wifi :-( (esetleg a driver fejlesztojevel egy kis lvelezes, hogy mit lehetne csinalni. Siman meg az is lehet, hogy csak pont a te kartyad ID-je nincs benn az adatbazisban, de ha bekeul, mukodni fog - de ezt mar nem tudom.
Ui: ha lehet, inkabb a bwn-re gyurj, mintha azt aktivabban piszkalnak.
- A hozzászóláshoz be kell jelentkezni
Amiket irtal mar mind fenn volt. if_bwi/bwn kilove.
Majd ez fogadott:
# kldload bwi_v3_ucode.ko
kldload: can't load bwi_v3_ucode.ko: Exec format error
# kldload bwn_v4_ucode.ko
kldload: can't load bwn_v4_ucode.ko: Exec format error
# kldload bwn_v4_lp_ucode.ko
kldload: can't load bwn_v4_lp_ucode.ko: Exec format error
- A hozzászóláshoz be kell jelentkezni
PEBKAC. De legalábbis works4me. Délután x86-on, most amd64 is kipróbáltam, szó nélkül beül a memóriába. Csak akkor kaptam exec format error-t, amikor a bent levő bwn_v4_ucode mellé be akartam tölteni a LowPower verziót is. De amikor kiszedtem az előzőt, a másikat már betölthettem (de most másodszorra már így se kapok hibát és ott ülnek egymás mellett). Szóval esetleg egy teljes reboot után nézd meg (feltételezve, hogy sehova se drótoztad be valamelyik modul automatikus betöltését).
- A hozzászóláshoz be kell jelentkezni
Nem irtam be oket sehova sem. Am reboot utan is csak Exec Format Error fogad.
- A hozzászóláshoz be kell jelentkezni
Akkor itt feladom.
- A hozzászóláshoz be kell jelentkezni
A dmesg kimentetét vagy esetleg a logokat (/var/log/messages) nézd meg, abban esetleg le van írva, mi a gond.
- A hozzászóláshoz be kell jelentkezni
Illetve az is könnyen megeshet, hogy a kernel forrása, amivel fordította a modulokat (/usr/src könyvtáron belül) verziójukban eltérnek az aktuálisan futó kernelétől. A kernel verzióját SVN revízióra pontosan meg lehet mondani az uname parancs kimenetéből, az /usr/src revízióját pedig talán a sys/conf/newvers.sh FreeBSD SVN tagjéből fogod tudni megállapítani. (Vagy ha SVN working copy, akkor elég az svnversion parancs.)
- A hozzászóláshoz be kell jelentkezni