Em 28-06-2011 07:58, Flamarion Jorge escreveu:
On 06/27/2011 03:41 PM, Junior Polegato - Linux wrote:
Porém, ao trocar o Librix por Debian, o driver padrão entende
que o hardware está bloqueado, então tive que compilar o módulo do
kernel e retornar sempre desbloqueado na parte em que verifica se está
ou não bloqueado por hardware. Aí depois foi remapear essa tecla para
XF86WLAN para o Network Manager entender que é para alterar o modo da Wlan.
Até eu saber qual é o hardware de fato, pode me dizer qual módulo foi este?
Você fez isso com o modules-assistant ? ou baixou o fonte e fez na mão
mesmo?
Olá,
Como o módulo era rtl8187 que estava incorporado ao kernel,
baixei o fonte do kernel via "apt-get source linux-2.6", fui ao
diretório "linux-source-2.6.39/drivers/net/wireless/rtl818x/rtl8187" e
alterei os Makefile's para compilar localmente o módulo e o arquivo
"rfkill.c", basicamente trocando o conteúdo:
static bool rtl8187_is_radio_enabled(struct rtl8187_priv *priv)
{
u8 gpio;
gpio = rtl818x_ioread8(priv, &priv->map->GPIO0);
rtl818x_iowrite8(priv, &priv->map->GPIO0, gpio & ~priv->rfkill_mask);
gpio = rtl818x_ioread8(priv, &priv->map->GPIO1);
return gpio & priv->rfkill_mask;
}
por
static bool rtl8187_is_radio_enabled(struct rtl8187_priv *priv)
{
return 1;
}
Nos Makefile's troca-se "obj-$(CONFIG_*)" por "obj-m" e
adiciona-se as linhas:
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Executa o "make" para compilar e linkar os ".ko", aí
sobrescreve os respectivos ".ko" em "/lib/modules/<caminho>" e faz-se um
"rmmod <modulo>" e "modprobe <modulo>".
[]'s
Junior Polegato