HowTo:705es:LANWLAN
De Luispa
Configuración LAN y WLAN
LAN
La configuración de la tarjeta Fast Ethernet está descrita en el artículo Instalación de Gentoo GNU/Linux en Compaq Mini 705ES.
iPhone Tethering (Con kernel >=2.6.34)
- Doc referencia: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver
- Instalo el driver ipheth que viene con el kernel 2.6.34
Device Drivers-->Network device support-->USB Network Adapters--> <M> Apple iPhone USB Ethernet driver El driver se llama: ipheth
- Rearranco el equipo
- Instalo la librería libimobiledevice
# emerge -v libimobiledevice
- Descargo e instalo el programa user-space que permitirá emparejar el iPhone con el linux.
# cd /root # git clone git://github.com/dgiagio/ipheth.git # cd ipheth/ipheth-pair # make # make install install -m 0755 ipheth-pair /lib/udev/ install -m 0644 90-iphone-tether.rules /etc/udev/rules.d /sbin/udevadm control --reload-rules
- A partir de aquí basta con conectar el iPhone con el cable USB, la nueva regla de UDEV detectará el iPhone y cargará el módulo del kernel ipheth. La carga manual (modprobe ipheth) no debería ser necesaria.
- Automáticamente verás una interfaz nueva, en mi caso "wwan0", que debería recibir una dirección IP vía dhcp desde el iPhone. Nota: debes tener un cliente dhcp o el networkmanager instalado. En mi caso tengo el networkmanager (/etc/init.d/NetworkManager y "nm-applet --sm-disable" al inicio).
WLAN
- Conseguir que me funcionase la Broadcom BCM4312 no ha sido tarea fácil. Primero he intentado usar los drivers del kernel para descubrir que no funcionan todavía y que previsiblemente se podrán usar estos drivers con el kernel 2.6.32 cuando salga. Sí que he sido capaz de hacerla funcionar con los drivers ofrecidos por Broadcom.
Broadcom BCM4312 con drivers del Kernel: NO FUNCIONA <= 2.6.31
- Broadcom BCM4312 802.11b/g (rev 01). El Kernel de linux soporta esta familia de tarjetas, dependiendo del modelo y revisión exáctos. Todas tienen la peculiardad de necesitar firmware, por lo que será necesario usar un programa llamado b43-fwcutter para ponerla operativa.
- Según esta página el soporte de la que incluye el Compaq Mini E705ES está "in progress" y además dice "bcm4312 with a/b/g (only the 2.4GHz part and no low-power LP-PHY devices)"
: 14e4:4315 in progress BCM4312 802.11b/g - low power b43 :
- Encontrarás el ID de tu tarjeta con el siguiente comando
# lspci -vnn | grep -i 14e4 01:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)
- Intenté activarla con el System Rescue CD sin éxito.
- Tras realizar toda la instalación y arrancar el sistema, ahora es reconocida y se carga el driver.
$ lspci -vnn
:
01:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)
Subsystem: Hewlett-Packard Company Device [103c:1508]
:
Kernel driver in use: b43-pci-bridge
Kernel modules: ssb
- Pero por desgracia tengo el "UNSUPPORTED PHY"
# dmesg | grep -i b43 [ 4.375281] b43-pci-bridge 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [ 4.375308] b43-pci-bridge 0000:01:00.0: setting latency timer to 64 [ 6.113918] b43-phy0: Broadcom 4312 WLAN found (core revision 15) [ 6.129762] b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 6, Type 5, Revision 1) [ 6.129816] b43: probe of ssb0:0 failed with error -95
- Según parece se soportará con el kernel 2.6.32.
# BCM4312 802.11b/g, AKA BCM 4310 USB - This device has an LP PHY. Work on this device has begun, and the device now works in wireless-testing (and will be supported in 2.6.32), but performance is sub-par, due to the lack of calibration support. Note: This card uses the PCI-E bus, despite its name.
Nota: Tendré que esperar al kernel 2.6.32 y seguir esta guía para intentarlo
- ACTUALIZACIÓN: Pruebas con gentoo-sources-2.6.32-r1 (9/1/10)
Broadcom BCM4312 con broadcom-mta: FUNCIONA
A través de este hilo y este otro comentan que con el paquete "net-wireless/broadcom-sta" (Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver) parece que es posible hacer que la tarjeta "Broadcom BCM4312 802.11b/g (rev 01)" funcione.
- Preparar el kernel (recuerdo que estoy con 2.6.30-gentoo-r6) para wireless y no seleccionar el driver b43 (famoso).
[*] Networking support --->
[*] Wireless --->
-*- Improved wireless configuration API
[ ] cfg80211 regulatory debugging
[*] Old wireless static regulatory definition
-*- Wireless extensions
[*] Wireless extensions sysfs files
<*> Common routines for IEEE802.11 drivers
[*] lib80211 debugging messages
<*> Generic IEEE 802.11 Networking Stack (mac80211) <===FIXME: Probar a quitarlo
Rate control algorithm selection --->
[ ] Enable mac80211 mesh networking (pre-802.11s) support
[*] Enable LED triggers
[ ] Export mac80211 internals in DebugFS
[*] Select mac80211 debugging features --->
[*] Device Drivers --->
[*] Network device support --->
Wireless LAN --->
[*] Wireless LAN (IEEE 802.11)
[ ] TODOS DESMARCADOS (No selecciono ninguno)
- Recompilo e instalo el kernel
- Compilo el kernel # cd /usr/src/linux # make - Elimino los módulos antiguos (así elimino el ssb, b43, ... por si acaso) # rm -fr /lib/modules/2.6.30-gentoo-r6 - Instalo los módulos # make modules_install - Copio el kernel a /boot # cp arch/x86/boot/bzImage /boot/bzImage-2.6.30-gentoo-r6 # cp System.map /boot/System.map-2.6.30-gentoo-r6
- Instalar broadcom-sta (siempre después de compilar el kernel).
El último ebuild está desactualizado, así que creo un overlay para usar un nuevo ebuild: broadcom-sta-5.10.91.9.3-r6.ebuild
# mkdir -p /usr/local/portage/net-wireless/broadcom-sta # echo "PORTDIR_OVERLAY=/usr/local/portage" >> /etc/make.conf # cd /usr/local/portage/net-wireless/broadcom-sta !! Creo el fichero broadcom-sta-5.10.91.9.3-r6.ebuild # cp /usr/portage/net-wireless/broadcom-sta/files/* files/ # ebuild broadcom-sta-5.10.91.9.3-r6.ebuild digest
- Modifico el Keywords
# Para broadcom =net-wireless/broadcom-sta-5.10.91.9.3-r6 ~x86
# emerge -v broadcom-sta >>> /etc/modprobe.d/wl.conf >>> /lib/modules/2.6.30-gentoo-r6/net/wireless/wl.ko
- Instalo las herramientas para wireless
# emerge -v net-wireless/wireless-tools sbin/iwevent sbin/iwgetid sbin/ifrename sbin/iwspy sbin/iwconfig sbin/iwpriv sbin/iwlist
- Rearranco el equipo
# reboot
Activar el driver
- Al hacer boot compruebo que el driver ha cargado.
# lsmod Module Size Used by sky2 39100 0 i2c_i801 7600 0 wl 1260204 0 <==== !!!
# iwconfig
:
eth1 IEEE 802.11bg ESSID:"" Nickname:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:54 Mb/s Tx-Power:32 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
:
- Notar que se le ha asignado "eth1" en vez de "wlan0", algo que parece normal al no ser un driver del propio kernel. Se crea automáticamente una entrada en el fichero udev:
# PCI device 0x14e4:0x4315 (wl)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:2b:84:fa:d3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
^^^^^
- Modifico USE
net-wireless/wpa_supplicant readline ssl dbus -debug eap-sim gnutls -madwifi -ps3 -qt3 qt4 wps
- Instalo wpa_supplicant
# emerge -v wpa_supplicant
- Modifico el fichero net
modules=( "wpa_supplicant" ) modules_eth1=( "wpa_supplicant" ) wpa_supplicant_eth1="-Dwext" # Configuración para WiFi config_eth1=( "192.168.1.20/24 brd 192.168.1.255" ) routes_eth1=( "default via 192.168.1.1" ) dns_servers_eth1=( "192.168.1.1" ) dns_search_domains_eth1="parchis.org"
- Creo el link
# cd /etc/init.d # ln -s net.lo net.eth1
Scan
- El siguiente paso es opcional, pero muy útil para comprobar que la cosa va bien...
| Código: # iwlist wlan0 scanning |
wlan0 Scan completed :
Cell 01 - Address: 00:1E:52:79:C6:0B
ESSID:"luispa"
Mode:Managed
Frequency:2.412 GHz (Channel 1)
Quality:5/5 Signal level:-35 dBm Noise level:-79 dBm
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Cell 02 - Address: 00:1C:B3:AA:F5:45
ESSID:"luispa"
Mode:Managed
Frequency:2.432 GHz (Channel 5)
Quality:1/5 Signal level:-80 dBm Noise level:-90 dBm
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Cell 03 - Address: 00:24:36:9A:13:9F
ESSID:"luispa"
Mode:Managed
Frequency:2.432 GHz (Channel 5)
Quality:4/5 Signal level:-63 dBm Noise level:-90 dBm
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Cell 04 - Address: 00:80:5A:22:F1:DE
ESSID:"luispa"
Mode:Managed
Frequency:2.457 GHz (Channel 10)
Quality:2/5 Signal level:-70 dBm Noise level:-92 dBm
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
12 Mb/s; 24 Mb/s; 36 Mb/s; 9 Mb/s; 18 Mb/s
48 Mb/s; 54 Mb/s
Cell 05 - Address: 00:1D:7E:B3:53:71
ESSID:"TITONA"
Mode:Managed
Frequency:2.452 GHz (Channel 9)
Quality:1/5 Signal level:-82 dBm Noise level:0 dBm
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: Unknown: DD0E0050F204104A0001101044000102
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Cell 06 - Address: 00:19:E3:33:37:E7
ESSID:"TITONA"
Mode:Managed
Frequency:2.462 GHz (Channel 11)
Quality:4/5 Signal level:-63 dBm Noise level:-92 dBm
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
|
De lo anterior se deduce que hay 2 ESSID's
- "luispa" con IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
- "TITONA" con IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Configuración wpa
- Creo el fichero wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1
# Config. para red Wifi con Airport Extreme/Express de Apple con seguridad "WPA/WPA2 Personal"
network={
scan_ssid=0
ssid="luispa"
proto=WPA RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="<CLAVE DE TU RED WIFI>"
priority=1
}
Arrancar net.eth1
- Arrancamos
# /etc/init.d/net.eth1 start * Starting eth1 * Starting wpa_supplicant on eth1 ... [ ok ] * Starting wpa_cli on eth1 ... [ ok ] * Backgrounding ...
- Al cabo de unos segudos veremos lo siguiente (puede tardar varios segundos, dado que wpa_supplicant está trabajando en el background contra el Access Point).
# iwconfig eth1
eth1 IEEE 802.11bg ESSID:"luispa" Nickname:""
Mode:Managed Frequency:2.412 GHz Access Point: 00:1E:52:79:C6:0B
Bit Rate=54 Mb/s Tx-Power:32 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=-37 dBm Noise level=-85 dBm
Rx invalid nwid:0 Rx invalid crypt:100 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:24:2b:84:fa:d3
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::224:2bff:fe84:fad3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:161 errors:0 dropped:0 overruns:0 frame:3496
TX packets:186 errors:31 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:70108 (68.4 KiB) TX bytes:25529 (24.9 KiB)
Interrupt:16 Base address:0xc000
Broadcom BCM4312 con drivers del Kernel 2.6.32-r1
Como dije al principio, voy a probar con los nuevos drivers.
- Instalo el nuevo kernel 2.6.32-r1
Este kernel soporta la tarjeta, PCI ID: 14e4:4315, con chipset BCM4312, modos b/g, PHY: LP, y el driver a utilizar es el b43.
- Configuro el Kernel
Añado el driver B43 Low PHY (experimental) como módulo. Recompilo, instalo el kernel
- NO INSTALO broadcom-sta, comento el fichero o desinstalo
Comento el fichero /etc/modprobe.d/wl.conf # update-modules No se instala ni se cargará /lib/modules/2.6.30-gentoo-r6/net/wireless/wl.ko : O bien desinstalo: # emerge -C broadcom-sta
- Descargo e instalo GIT
Añadir la variable USE=curl para git a package.use # emerge -v git
- Preparar el firmware. Las tarjetas Broadcom tienen un firmware propietario, sigo esta guía para instalarlo.
MI CONFIGURACIÓN Driver: b43 Kernel: Linux-2.6.32-r1 para tarjetas LP-PHY Versión: Utilizar la versión de los fuentes GIT 4.174.64.19 Extractor del firmware: b43-fwcutter
Descargar y extraer b43-fwcutter, después compilarlo: # cd $HOME mkdir wifi cd wifi git clone http://git.bu3sch.de/git/b43-tools.git cd b43-tools/fwcutter make cd .. Usar la versión 4.174.64.19 del driver propietario de Broadcom. El tarball está mal etiquetado como "4.178.10.4", pero es la 4.174.64.19 export FIRMWARE_INSTALL_DIR="/lib/firmware" mkdir /lib/firmware wget http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2 tar xjf broadcom-wl-4.178.10.4.tar.bz2 cd broadcom-wl-4.178.10.4/linux sudo ../../fwcutter/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta.o
- Rearranco el equipo con el nuevo kernel
Auto-Selección de LAN (eth0) y WLAN (eth1) (OBSOLETO)
Mi objetivo es que el equipo utilice la tarjeta LAN siempre que este conectada, y en su defecto que use la tarjeta WLAN. Para conseguirlo he intentado la opción de ifplugd pero no me convence demasiado. Al final voy a usar un interfaz bridge.
- Configuro el kernel para que soporte bridge
Networking Support --->
Networking Options --->
<M> 802.1d Ethernet Bridging
- bridge
# emerge -v bridge-utils
- Modifico el fichero de configuración /etc/conf.d/net
modules_eth0=( "!plug" )
modules=( "wpa_supplicant" )
modules_eth1=( "wpa_supplicant" )
modules_eth1=( "!plug" )
wpa_supplicant_eth1="-Dwext"
bridge_br0="eth0 eth1"
config_eth0=("null")
config_eth1=("null")
config_br0=( "192.168.1.20/24 brd 192.168.1.255" )
routes_br0=( "default via 192.168.1.1" )
dns_servers_br0=( "192.168.1.1" )
dns_search_domains_br0="parchis.org"
RC_NEED_br0="net.eth0 net.eth1"
brctl_br0=( "setpathcost br0 eth0 10" )
brctl_br0=( "setpathcost br0 eth1 20" )
Trabajo con LAN y WAN (Network Manager)
- Esta es la última opción que estoy usando, pero tengo que documentarla.
- /etc/init.d/NetworkManager
Enlaces y Créditos
| [1] | http://linuxwireless.org/en/users/Drivers/b43 | Sobre el driver necesario para la tarjeta Wifi icluida |
| [2] | http://en.gentoo-wiki.com/wiki/Acer_Aspire_One_A110L | Equipo parecido con doc. interesante |
Volver a Página inicial del Compaq Mini 705ES
--Luis 17:54 20 sep 2009 (CEST)

