Primeiras coisas primeiro: o seu arquivo hostname.urtwn0
parece bom e se você tiver um erro, você receberá mensagens de erro completamente diferentes.
A mensagem urtwn0: failed loadfirmware of file urtwn-rt18192cfwT (error 2)
indica que o firmware não está instalado no local adequado:
Como explicado em loadfirmware(9)
, esta função retorna errno
style códigos de erro: e errno(2)
explica:
2 ENOENT No such file or directory.
A component of a specified pathname did not exist, or the pathname
was an empty string.
Deve haver um arquivo /etc/firmware/urtwn-rt18192cfwT
para o driver carregar. 1 Provavelmente você não encontrará este arquivo em sua árvore.
1 Veja o final da resposta para mais detalhes
Supondo que você tenha alguma maneira de conectar sua caixa à Internet:
Tente executar fw_update -v
para instalar o firmware e garantir que os arquivos estejam no lugar certo e não corrompidos. Se você tiver sorte, é tudo que precisa fazer.
Se isso falhar, você pode tentar instalar o firmware a partir de pacotes ou portas (leia esta FAQ primeiro! ). Meu espelho local não tem nenhum pacote relacionado a urtwn
, então você provavelmente precisará usar a árvore de ports.
Configure a árvore de portes, conforme explicado em FAQ , e execute make install
como raiz de /usr/ports/sysutils/firmware/urtwn
.
Se você não conseguir conectar sua caixa à Internet:
O firmware pode ser baixado manualmente a partir de http://firmware.openbsd.org/firmware-dist/urtwn-1.1p0.tgz
. Pegue-o de lá, jogue-o em um pendrive e copie-o para a sua caixa do OpenBSD. Extraia o arquivo e mova os arquivos urtwn-*
para /etc/firmware/
.
Se isso funcionar, é uma boa ideia executar fw_update -v
quando você tiver conectividade de rede. Dessa forma, o firmware será monitorado e atualizado, se necessário, pelos scripts de manutenção do sistema.
Se tudo isso não ajudar, provavelmente você deve perguntar nas listas de e-mail . As pessoas de lá geralmente são amigáveis e prestativas se você fez sua lição de casa 2 .
2 O driver é mencionado algumas vezes em [email protected] . Por exemplo, havia alguns problemas relacionados a usb, verifique se algo pode estar relacionado ao que você vê antes de postar.
Adicionado:
Agora olhei para o código-fonte, e a única maneira de obter essa mensagem de erro é a função urtwn_load_firmware()
, em sys/dev/usb/if_urtwn.c
na linha 2194
:
/* Read firmware image from the filesystem. */
if ((sc->chip & (URTWN_CHIP_UMC_A_CUT | URTWN_CHIP_92C)) ==
URTWN_CHIP_UMC_A_CUT)
name = "urtwn-rtl8192cfwU";
else
name = "urtwn-rtl8192cfwT";
if ((error = loadfirmware(name, &fw, &len)) != 0) {
printf("%s: failed loadfirmware of file %s (error %d)\n",
sc->sc_dev.dv_xname, name, error);
return (error);
}
A função loadfirmware()
(em sys/dev/firmload.c
) gera o caminho /etc/firmware/urtwn-rtl8192cfwT
e tenta carregar esse arquivo na memória do seu adaptador USB. Como não é possível encontrar o arquivo, você recebe a mensagem de erro que relatou.