Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: Steta-Stefanos 28 Prosince 2010, 18:58:59
-
Dobrý den,
rozhodl jsem se řešit problém s nestabilním wifi u netbooku HP Mini 5101 na Ubuntu 10.10. Ihned po instalaci systému jsem tedy dle návodu zde: http://www.broadcom.com/docs/linux_sta/README.txt (http://www.broadcom.com/docs/linux_sta/README.txt) zkompiloval originální ovladač a zavedl jej. S tímto ovladačem mi Wifi jede bezvadně, ovšem problém je, že nevím, jak docílit toho, aby se ovladač sám načetl při startu systému. Zavádět jej ručně při každém zapnutí počítače je hodně nepraktické.
Máte-li prosím někdo radu pro linuxového začátečníka, jak na automatické zavedení ovladače hned po startu, budu moc vděčný ;)
-
jak to po každým zapnutí zavádíš ?
-
Ovladač mám rozbalený v domovské složce/Stažené/hybrid_wl
Zapnu terminál - přepnu se do této složky jako root a zadám:
modprobe lib80211
a potom
insmod wl.ko
Po chvilce wifi funguje. Nejsem v linuxu moc zběhlý, takže bohužel nevím, jak přinutit ovladač, aby fungoval po restartu sám od sebe. Zkoušel jsem dle toho Readme souboru nakopírovat ho do /lib/modules/`uname -r`/kernel/drivers/net/wireless, ale ani tak nefunguje.
-
ako si instaloval ovladač ?
make
make installak ano nemal by si mať tento problém. Ak už si si ho tam zkopíroval , tak by si mal zaviesť zavislosti
sudo depmod -asudo modprobe wlsudo -s
echo "wl" >> /etc/modules
-
Jakmile jej zavedu přes modprobe wl, tak je to opět nestabilní - chvíli 1,5 MB/s, chvíli třeba 200 kB/s. Když jsem to ale načetl z toho staženého ovladače, vše fungovalo rychle. Akorát opravdu netuším, jak jej používat natrvalo.
Jinak instaloval jsem to tak, jak je to v návodu:
BUILD INSTRUCTIONS
------------------
1. Setup the directory by untarring the proper tarball:
For 32 bit: hybrid-portsrc_x86-32_v5.100.82.38.tar.gz
For 64 bit: hybrid-portsrc_x86-64_v5.100.82.38.tar.gz
Example:
# mkdir hybrid_wl
# cd hybrid_wl
# tar xzf <path>/hybrid-portsrc_x86-32_v5.100.82.38.tar.gz
2. Build the driver as a Linux loadable kernel module (LKM):
# make clean (optional)
# make
When the build completes, it will produce a wl.ko file in the top level
directory.
If your driver does not build, check to make sure you have installed the
kernel package described in the requirements above.
Fresh installation:
------------------
1: Remove any other drivers for the Broadcom wireless device.
There are several open source drivers that are used to drive Broadcom 802.11
chips such as b43 and ssb. They will conflict with this driver and need
to be uninstalled before this driver can be installed. Any previous
revisions of the wl driver also need to be removed.
Note: On some systems such as Ubuntu 9.10, the ssb module may load during
boot even though it is blacklisted (see note under Common Issues on how to
resolve this). Nevertheless, ssb still must be removed
(by hand or script) before wl is loaded. The wl driver will not function
properly if ssb the module is loaded.
# lsmod | grep "b43\|ssb\|wl"
If any of these are installed, remove them:
# rmmod b43
# rmmod ssb
# rmmod wl
To blacklist these drivers and prevent them from loading in the future:
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
2: Insmod the driver.
Otherwise, if you have not previously installed a wl driver, you'll need
to add a security module before using the wl module. Most newer systems
use lib80211 while others use ieee80211_crypt_tkip. See which one works for
your system.
# modprobe lib80211
or
# modprobe ieee80211_crypt_tkip
Then:
# insmod wl.ko
wl.ko is now operational. It may take several seconds for the Network
Manager to notice a new network driver has been installed and show the
surrounding wireless networks.
3: Setup to always load at boot time.
The procedure to make a module load at boot time varies from distro to
distro. Consult the docs for your specific distro to see how. The
following seems to work for my setup on Fedora and Ubuntu. Check your
docs to see the procedure for your distro.
Follow these steps to have the driver load as part of the boot process:
# load driver as described above
# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
# depmod -a
-
# rmmod wl
# mv <path-to-prev-driver>/wl.ko <path-to-prev-driver>/wl.ko.orig
# cp wl.ko <path-to-prev-driver>/wl.ko
# depmod
# modprobe wl
Proste ten starý wl premenuješ na wl.orig a na jeho miesto skopíruješ ten skompilovaný , potom závislosti (depmod -a ) a zavedenie modulu (modprobe wl) samozrejme ako root...
-
Už vím, v čem je háček, když jsem dával do blacklistu b43 a ssb, připsal jsem do něj i wl, když jsem ho smazal, tak se načetl po startu. Udělal jsem to přesně tak - nakopíroval místo starého a zavedl. Teď již funguje ihned po startu systému, ale opět je připojení nestabilní a pomalé. Kdežto když zavedu (insmod) ten zkompilovaný ovladač přímo, tak jede wifi stabilně kolem 1,8 MB/s.
Jestli se můžu zeptat - nechápu, proč v tom návodu při instalaci místo původního ovladače je tato cesta: /lib/modules/<kernel-version>/kernel/net/wireless
a při čisté instalaci cesta jiná: cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
V nejhorším budu ten ovladač raději zavádět ručně, ten rozdíl je opravdu obrovský. :)
-
Teď se mi podařilo docílit toho, že když po restartu systému zadám
modprobe wl, najede ten správný ovladač a wifi funguje správně. Ovšem nenačte se po startu sám.
-
Tak to zkus napsat do /etc/rc.local, ten se zpousti pri kazdem bootu
ovsem nevim, jak moc je tohle koser
-
Je to sice hnus,ale co zkusit si v domovské složce bytvořit soubor Wi-fi,přidělit mu spustitelný příznal a do jeho obsahu zapsat
sleep 5s
cd /složka kde je ovladač
spuštěcí příkazy a potom si ten soubor volat přes menu "Programy spouštěné při přihlášení"
-
sudo -s
echo "wl" >> /etc/modules
exit a modul sa ti zavedie priamo pri starte... V tom rc.local by to tiež išlo , ale v ubuntu je na to subor "/etc/modules", zavedenie modulov pri štarte. Toto je štandartné riešenie.
Jestli se můžu zeptat - nechápu, proč v tom návodu při instalaci místo původního ovladače je tato cesta: /lib/modules/<kernel-version>/kernel/net/wireless
a při čisté instalaci cesta jiná: cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
`uname -r´ = <kernel-version> keď zadaš do terminálu "uname -r" vypíše ti "kernel-version" , tych verzíí môžeš mať viacej... ja ich mam 5.
Tiež nechápem , ako sa ti môže zavadzať ten stary modul, ked si premenoval na "wl.orig.ko" asi bude chyba niekde na trase : stolička - klávesnica . ;D
-
Kernel version chápu, jen mi není jasné, proč u čisté instalace je za ním /kernel/drivers/net/wireless a u nahrazování staré verze /kernel/net/wireless (tedy bez drivers).
Udělal jsem vše naprosto, jak je to v readme.txt a potom jsem zkoušel i jiné způsoby, jakmile ale přejmenuju wl.ko na wl.ko.orig a nakopíruju tam tu novou verzi, načtu, tak stejně se to chová stále stejně. Nevím, kde je chyba, tak to nechám tak. I tak díky za pomoc ;)
-
3: Setup to always load at boot time.
The procedure to make a module load at boot time varies from distro to
distro. Consult the docs for your specific distro to see how. The
following seems to work for my setup on Fedora and Ubuntu. Check your
docs to see the procedure for your distro.
Follow these steps to have the driver load as part of the boot process:
# load driver as described above
# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless # tvoj nový driver
# depmod -a
# echo modeprobe wl >> /etc/rc.local (Fedora/SUSE)
Ubuntu ships a version of wl.ko, so those need to be disabled. On my
system the were several versions, so I searched and renamed the .ko's
like this:
# sh: for i in `find /lib /var -name wl\.ko`; do mv $i ${i}.orig; done
Absolutne dokonale popísané...
ak sa ti "nedarí " premenovať ten driver premenuj ho pomocou príkazu z návodu :sh: for i in `find /lib /var -name wl\.ko`; do mv $i ${i}.orig; done # ako root
modbrobe -r wl
cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless #tvoj novy driver
depmod -a
echo "wl" >> /etc/modules
-
No zdá se, že to nakonec funguje ;D, ale byl to boj. Na druhou stranu mě to donutilo naučit se trošku věcí s terminálem, což se u Linuxu rozhodně hodí :)
Díky za pomoc ;)