Fedora 24 ja Broadcom 4311

Asentelin tässä Fedora 24:n mutta WLAN ei lähde läyntiin. Kortti olis Broadcom Corporation BCM4311 802.11b/g WLAN (rev 02). Missä vika ja miten selvitään eteenpäin?

Lisenssisyistä Fedoran mukana ei tule tarvittavia ajureita. Ne löytyvät kuitenkin RPM Fusion -pakettivarastosta, jonka käyttöönottoon löytyvät ohjeet täältä: Configuration - RPM Fusion

Eli RPM Fusion kokonaisuudessaan (free ja non-free) voidaan ottaa käyttöön ohjeiden mukaan komentamalla:

su -c 'dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'

Tarvittava paketti on kmod-wl, joka voidaan asentaa RPM Fusionista komentamalla:

su -c 'dnf -y install kmod-wl'

Tämän jälkeen käynnistä tietokone uudelleen.

Kuinkas tämä virhe korjataan?

Asennetaan : kmod-wl-4.5.5-300.fc24.x86_64-6.30.223.271-4.fc24.x86_64 1/3
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_inform_bss_frame_data
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_scan_done
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_disconnected
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_new_nm
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_register
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_put_bss
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_roamed
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_gtk_rekey_notify
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_ibss_joined
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_michael_mic_failure
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_connect_result
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_unregister
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_get_bss
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol __ieee80211_get_channel
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol ieee80211_channel_to_frequency
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_report_wowlan_wakeup
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_inform_bss_data
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol ieee80211_frequency_to_channel
depmod: WARNING: /lib/modules/4.5.5-300.fc24.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_free

Hmm, testasin puhtaalla Fedora 24 -asennuksella ja kmod-wl asentui ihan nätisti. Koitahan päivittää järjestelmä ja asentaa kernel-modules-paketti:

su -c 'dnf -y update && dnf -y install kernel-modules'

P.S. Foorumilla tekstin saa muotoiltua “koodiksi” maalaamalla sen hiirellä ja painamalla </> -symbolia valikkopalkissa. :wink:

No mulle ilmeisesti tapahtui jokin virhe asennuksen yhteydessä kun repojen joukossa oli virheellinen tiedosto. Tein sattumoisin tuon asennuksen YUM:lla ja kun käynnistin yumex:in komennolla yumex -n niin jokin käyttäjäoikeusasetus ei mennyt kuten piti. Kokeilin sitten myöhemmin tuolla dnf:llä mutta se ei asiaa korjannut. Pitää kokeilla tuota kernelimoduline asennuksen korjausta, josko ajuri alkais toimia.

Tällä samalla ohjeella ilmeisesti pitäisi saada hiukan uudempikin kortti toimimaan mutta eipä onnistu. Missä vika:

Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
Subsystem: Hewlett-Packard Company BCM4312 802.11b/g Wireless LAN Controller
Physical Slot: 1-1
Flags: fast devsel
Memory at 92000000 (64-bit, non-prefetchable) [disabled] [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [58] Vendor Specific Information: Len=78 <?>
Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [d0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Virtual Channel
Capabilities: [160] Device Serial Number xxxxxxxxxxxxxxxxxxxx
Capabilities: [16c] Power Budgeting <?>
Kernel modules: ssb

Onko nyt varmasti käytössä uusin kernel? Käytössä olevan kernelin version voi tarkistaa komennolla:

uname -r

Voit myös kokeilla akmod-wl-pakettia, jolloin verkkokortin ajurit käännetään aina uudelleen kernelin päivittyessä. Aihetta on käsitelty myös wikissä: RPM Fusion – Linux.fi

su -c 'dnf -y install akmod-wl'

Fedoraa ja Broadcomia on käsitelty englanninkielisellä Fedorafoorumilla aika laajasti, mutta tuota ohjetta ei enää päivitetä ja se on melkoisen vanha. Kannattaa kuitenkin lukea läpi jos sitä olisi apua.

Ainakin broadcom-wl-paketin (joka asentuu kmod-wl-paketin riippuvuutena) tiedoissa väitetään että BCM4311 ja BCM4312 olisivat kumpikin tuettuja.

This package contains the license, README.txt and configuration
files for the Broadcom 802.11 Linux STA Driver for WiFi, a Linux
device driver for use with Broadcom's BCM4311-, BCM4312-,
BCM4313-, BCM4321-, BCM4322-, BCM43142-, BCM43224-, BCM43225-,
BCM43227-, BCM43228-, BCM4331-, BCM4360 and -BCM4352- based
hardware.

Olisko mahdollista että tuossa on mennyt pieleen se että tein päivitykset ennen tuon Broadcom’in ajurien asennusta? Kun kaikki näyttää versioiden puolesta oleva kuten kuuluu, mutta tuo kortti ei vaan lähde käyntiin.

Mä olen nyt kahdessa ei läppärissä noita temppuja kokeillut ja kumpikaan ei toimi.

Ei, sillä ei ole merkitystä, mutta mielummin juuri näin päin että ensin päivitykset ja sitten asennukset.

Löysin itseltä yhden romuläppärin jossa on tuo sama BCM4311-kortti. Koitin asentaa F24-version, mutta se ei suostunut boottaamaan, joten testasin F23-versiolla, toiminee kuitenkin samalla tavalla.

Eli kun yritin ladata modprobe-ohjelmalla wl-moduulia, ei sitä löytynyt. Tuleeko sinulla samankaltainen virhe?

$ su -c 'modprobe wl'
modprobe: FATAL: Module wl not found in directory /lib/modules/4.5.7-202.fc23.i686

Sain sen nyt itse toimimaan kun asensin kernel-devel-paketin:

su -c 'dnf -y install kernel-devel'

Ja käänsin akmod-moduulit komennolla:

su -c 'akmods --force'

Lopuksi otin wl-moduulin käyttöön komennolla:

su -c 'modprobe wl'

Tämän jälkeen WLAN toimii ihan OK. Aika ihmeellistä että kernel-devel ei tullut akmod-paketin riippuvuutena mukana kun sitä kerran tarvitaan kääntämiseen.

Mulla ei ole tuota F23:a asennuspakettina missään joten en pysty suoraan testaamaan, mutta… Muistelen että silloin ensimmäisellä kerralla tuohon kernel-modulihakemistoon viittaa via linkitysvirheitä tuli, kuten tuossa ylempänä näkyy. Mä kokeilen tehdä tuon kernel-devel-asennuksen korjauksen ja palaan asiaan.

Tuon uudemman kortin sisältävän läppärin kanssa minä tein semmoisen ratkaisun että kokeillin asentaa Ubuntu 16.04 LTS:n ja siinä ko. kortti lähti heti heittämällä toimimaan. Toki se asennustyökalu kyselee jo valmiiksi että haetaanko nuo suljetut kolmannen osapuolen ajuripaketit samoin tein. Semmoista ei jostain syystä Fedorasta vieläkään löydy.

No niin… Kiitoksia. Nyt toimii. Eli vielä kun tuon korjauksen saisi noden asennuspakettien ylläpitäjille perille niin jatkossakin asennukset toimisivat. Mun kemuksella tuo olisi kyllä jäänyt selvittämättä.

Hyvä juttu että tuli kuntoon! :thumbsup:

Nuo kolmannen osapuolen pakettivarastot voivat olla joskus vähän sitä sun tätä kun ei niihin ole kunnollista dokumentaatiota ja pakettien ylläpitäjillä ei välttämättä ole mitään kosketusta itse jakeluun.

Ubuntun systeemi on tosiaan käyttäjälle tosi näppärä, mutta Fedoraan sellaista tuskin koskaan lisätään ideologisten ja/tai lakiteknisten seikkojen takia. Itse soisin, että ajurit yms. ohjelmat joilla laitteisto saadaan ylipäänsä toimimaan, sisällytettäisiin jakeluihin, oli ne sitten “vapaita” tai ei. Käyttäjiä kun harvemmin kiinnostaa muu kuin laitteen toimimaan saaminen.

Jos laitevalmistaja ei halua tarjota avoimia ajureita laitteilleen, eivät jakelut, jotka perustuvat avoimeen lähdekoodiin, pysty liittämään jakeluihinsa automaattisesti toimivia ajureita.
Fedora kuitenkin jakeluna on niin merkittävä, että yleensä sille on tarjolla myös ajurit, vaikka ne eivät olekaan suoraa jaettavissa. Jotkin laitevalmistajan ajurit saa toimimaan vaivatta, ja joidenkin ajurit vaativat esim. ajurin kääntämisen :frowning:
Linux-yhteisö (jakelusta riippumatta) tekee eri laitteille ajureita, mutta joissakin tapauksissa, kun laitteiden speksejä laitevalmistaja ei avoimesti tarjoa, jää yhteisön laiteajurit vaillinaisiksi, eivätkä välttämättä tarjoa kaikkia laitteen ominaisuuksia, jotka ovat ns. liikesalaisuuksia (tai patentein suojeltuja ominaisuuksia, joista eivät Linux-jakelut avoimina/maksuttomina voi laskuttaa käyttäjää).

No tärkeintä nyt olisi että tuo löytynyt virhe asennuspaketissa korjattaisiin jottei vastaavia taisteluja tarvitsisi tehdä uudelleen. Kun sentään ajurit ovat olemassa ja asennettavissa. Mutta jos tuo asennus haluttaisiin jouhevammaksi niin siihen asennustyökaluun voisi lisätä saman kuin Ubuntussa on, että nuo kolmannen osapuolen laiteajurit voi haetuttaa ilman erillistä mutkaa.