Bloco de disco rígido sem fio

2

Eu tenho um Lenovo Yoga 2 11 "com Ubuntu 13.10 (x64). Eu tenho apenas um pequeno problema com o meu wifi. (Bluetooth está funcionando)

Eu tentei:

sudo rfkill list

Status:

0: ideapad_wlan: Wireless LAN
    Soft blocked: no
    Hard blocked: yes
1: ideapad_bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: yes
2: phy0: wireless LAN
    Soft blocked: no
    Hard blocked: no
3: hci0: bluetooth
    Soft blocked: no
    Hard blocked: no

próximo:

sudo rfkill unblock all
sudo rfkill unblock number

Eles funcionam apenas com soft block ... meu bloco ainda está em "yes".

Meu yoga não tem botão de hardware. Eu tentei configurações no BIOS, mas não está funcionando.

Se alguém tiver outra solução, ficarei muito grato.

    
por oliverbedi 15.03.2014 / 11:33

3 respostas

2

Então, parece que o seu IdeaPad Yoga 2 fez o papel da minha maneira. Acabei de descobrir como corrigi-lo com o seguinte:

O rfkill é controlado pelo EC incorporado, que é acionado pelo módulo ideapad-laptop. Este módulo corrige algumas partes erradas no Yoga 2, mas felizmente não de uma forma que quebra permanentemente o material.

O CE se apresenta como um dispositivo de plataforma ACPI, com comandos enumerados e um método de leitura e gravação de propriedade. A estrutura é bastante óbvia se você olhar para o ideapad-laptop.c na sua árvore de código fonte local.

Existem 3 bits de interesse: VPCCMD_W_RF: liga / desliga os dispositivos RF em geral? Este é interessante, pois não é usado em ideapad_laptop.c, mas é inverso, VPCCMD_R_RF -is-. VPCCMD_W_BT: liga / desliga os dispositivos Bluetooth. VPCCMD_W_WIFI: liga / de wi-fi.

Para cada um desses comandos, o envio de um 1 a eles ativa a função e 0 desabilita-os. Eu suspeito que o WRF é realmente não-funcional nas yogas. No entanto, o driver ideapad-laptop verá sua configuração e ativará os sinalizadores persistent rfkill para os dispositivos BT e WIFI.

Eu consertei isso compilando uma versão local do driver ideapad-laptop.c que executa os seguintes comandos o mais rápido possível, então o módulo aborta:

write_ec_cmd(ideapad_handle, VPCCMD_W_RF, 1);
write_ec_cmd(ideapad_handle, VPCCMD_W_BT, 1);
write_ec_cmd(ideapad_handle, VPCCMD_W_WIFI, 1);

Depois disso, certifiquei-me de manter o módulo ideapad-laptop com a opção ideapad-laptop da lista negra em um arquivo em /etc/modprobe.d/whatever.conf.

Eu tenho trabalhado bem desde então.

Infelizmente, o módulo ideapad-laptop mudou de uma versão do kernel para outra, então não posso simplesmente descarregar um módulo construído para o arquivo fonte completo, mas se você procurar esse arquivo por cadeias write_ec_cmd e construir sua própria cópia esse arquivo com instruções como as do link para criar módulos externos, você pode estar bem.

Você provavelmente vai querer colocá-lo em um dos arquivos debugfs para poder executá-lo enviando um arquivo debugfs, depois descarregar o módulo antes de acertar acidentalmente um botão de rfkill.

Você deve ser capaz de listar e ver-se desbloqueado!

    
por Bryon Roché 11.04.2014 / 15:33
-1

< A strong atualização do BIOS disponível resolveu isso para mim.

    
por xavier 01.03.2015 / 15:04