Pular para o conteúdo
Notícias e tutoriais sobre Linux
Kernel Linux

Suporte ao AirDrop chega ao Linux em Macs com chip T2 após engenharia reversa no kernel

O ecossistema sem fio da Apple, agora no pinguim!

linux mac t2 suporte awdl

Um novo conjunto de patches submetido para a lista de desenvolvimento do kernel Linux introduz o suporte ao protocolo AWDL (Apple Wireless Direct Link) no driver brcmfmac. A novidade permite que usuários de distribuições Linux instaladas em computadores Mac com chip de segurança T2 possam enviar e receber arquivos via AirDrop diretamente com outros Macs, iPhones e iPads.

A implementação, desenvolvida por Andre Eikmeyer, consiste em sete modificações no driver de rede sem fio da Broadcom. O AWDL é a tecnologia base que a Apple utiliza para o AirDrop. Nos Macs equipados com o chip T2, a própria documentação de firmware da placa de rede assume o controle das operações diretas do AWDL, permitindo a comunicação sem fio ponto a ponto de alta velocidade.

Divisão de tarefas entre firmware e espaço de usuário

No design proposto para o Linux, o driver cria uma interface de rede dedicada chamada “awdl%d”, que opera fora do subsistema padrão cfg80211. A partir do momento em que os parâmetros iniciais são definidos pelo host, o firmware proprietário da Apple passa a manter o agendamento de pacotes AWDL, envia os quadros recebidos do sistema operacional e transporta os dados reais entre os dispositivos pareados.

As funções de alto nível, que incluem a eleição de rede, a descoberta de pares e a interface de transferência de arquivos do AirDrop, não rodam no kernel. Esse trabalho foi transferido para o espaço de usuário através de uma aplicação chamada t2-drop. O software foi desenvolvido em código aberto sob a licença GPL e faz parte do projeto KaiT2en-Fedora. Para que toda essa estrutura funcione, o driver de kernel se comunica com a aplicação utilizando comandos e eventos de fabricante (vendor commands) específicos da Broadcom.

Engenharia reversa com dtrace

O funcionamento interno da comunicação de hardware da Apple não é público. Para entender como o macOS controla a placa de rede durante uma transferência de arquivos, Eikmeyer precisou realizar engenharia reversa do protocolo de comunicação.

O desenvolvedor utilizou um script da ferramenta dtrace rodando no macOS 15.4.1 em um MacBookAir9,1 equipado com o chip Wi-Fi BCM4377. Durante o processo, ele registrou as chamadas internas (iovar) que o sistema operacional enviava para o firmware no exato momento em que o AirDrop era aberto e fechado no Finder.

Em um teste complementar, o mesmo MacBookAir9,1 foi monitorado enquanto outro computador, um MacBookPro15,1 com chip BCM4364, iniciava a conexão AWDL rodando o código Linux modificado. Essa análise de pacotes cruzados e eventos de console gerou a base técnica para os comandos agora incorporados no patch.

Hardware validado e limitações conhecidas

linux mac t2 suporte awdl 2
Suporte ao AirDrop chega ao Linux em Macs com chip T2 após engenharia reversa no kernel 3

Para que o novo recurso funcione, o driver exige que o firmware original da placa Wi-Fi anuncie a capacidade “awdl” em suas instruções e suporte a versão 3 do comando de criação de interface. A comunidade KaiT2en, composta por cerca de 280 usuários, validou os patches em cenários reais de uso.

Os testadores relataram sucesso consistente nas transferências utilizando as controladoras BCM4364 e BCM4377. A lista de hardware com compatibilidade validada inclui as linhas MacBookPro15,1, 15,2, 15,3, 15,4, 16,1 e 16,4, além do MacBookAir9,1 e do iMac20,1. A comunidade reporta que não houve qualquer problema de regressão ou queda de estabilidade no Wi-Fi tradicional.

Existe uma limitação de desempenho documentada pelo desenvolvedor. As transferências via AirDrop nos modelos MacBookPro16,1 e 16,4 operam de forma significativamente mais lenta quando comparadas aos demais computadores da mesma geração. A causa técnica dessa restrição de velocidade ainda está sob investigação.

Equipamentos da Apple lançados antes da era do chip T2 ficam de fora dessa atualização. Durante a apuração técnica, Eikmeyer testou a imagem de firmware do chip BCM4350 presente em um MacBookPro14,1. Embora a placa anuncie o suporte teórico ao protocolo, ela responde à solicitação de criação de interface com um código de erro apontando ausência de suporte (BCME_UNSUPPORTED), inviabilizando o uso do recurso nos modelos mais antigos.

RECURSOS DO ARTIGO

Links e recursos

Materiais oficiais e referências técnicas relacionadas à matéria.
QUEM ESCREVE
Emanuel Negromonte

Sobre o autor

Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.