Abaixo estão as etapas mínimas para alcançar o que eu queria. Por enquanto, as etapas só funcionam para um pendrive USB Wifi adicional, não o hardware Wi-Fi embutido. Vou editar isso enquanto aprendo mais ...
Instalar e configurar o hostapd
Para que o hardware Wifi (aquele embutido no laptop ou algum pen drive USB adicional) funcione em modo não ad-hoc, o software hostapd é necessário. Observe que, para que isso funcione, o hardware Wifi precisa ser suportado pelo software hostapd e o hardware precisa suportar o modo não ad-hoc.
- Instalar software com
sudo apt-get install hostapd
- Localize o nome da interface de rede que corresponde ao hardware Wifi. Para um stick USB Wifi adicional, isso pode ser
wlan1
ou similar. O comandoifconfig
mostrará todas as interfaces de rede disponíveis. -
Crie o arquivo de configuração
/etc/hostapd/hostapd.conf
(por exemplo, com o comandogedit /etc/hostapd/hostapd.conf
) com o seguinte conteúdo onde você substitui<INTERFACENAME>
pelo nome encontrado na etapa 2,<MYSSID>
com o nome escolhido para sua rede,<CODE>
com o código de duas letras do seu país (por exemplo, EUA),<MODE>
com o modo de rede Wi-Fi (por exemplo, g) e canal com um número de canal válido (por exemplo, 3). Como alternativa, as linhas dehw_mode
echannel
podem ser excluídas totalmente. Substitua<MYPASSPHRASE>
por uma farsa de fase que você goste (mas evite caracteres trema ou acentuados).interface=<INTERFACENAME> driver=nl80211 logger_stdout=-1 logger_stdout_level=0 ssid=<MYSSID> country_code=<CODE> hw_mode=<MODE> channel=<CHANNEL> macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=<MYPASSPHRASE> wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Consulte o link para obter mais informações.
- Execute o comando
sudo hostapd -d /etc/hostapd/hostapd.conf
. Isso deve iniciar a rede Wi-Fi e já deve ser possível conectar-se a essa rede a partir do dispositivo móvel: a rede com o SSID atribuído deve aparecer na lista e depois de digitar a senha, o dispositivo deve se conectar à rede. No entanto, o dispositivo não obterá um endereço IP e, portanto, nenhuma transferência de dados real será possível ainda. Encerre o comando pressionandoCtl-C
Instalar o DHCP e configurar a rede
Para realmente transferir dados entre o dispositivo móvel e o laptop, a rede deve saber qual intervalo de endereços IP deve usar e um programa é necessário para atribuir endereços IP a qualquer dispositivo que deseje se conectar.
- Use o comando
sudo apt-get install isc-dhcp-server
para instalar o servidor DHCP. -
Edite o arquivo de configuração da interface
/etc/network/interfaces
e adicione o seguinte ao final:iface <INTERFACENAME> inet static address 192.168.2.1 netmask 255.255.255.0
-
Edite o arquivo de configuração do DHCP
/etc/dhcp/dhcpd.conf
e adicione o seguinte ao final.subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.3 192.168.2.10; option broadcast-address 192.168.2.255; option routers 192.168.2.1; }
Se você souber o endereço MAC do dispositivo móvel e quiser atribuir um endereço IP fixo a ele, poderá adicionar as seguintes linhas antes da chave de fechamento, substituindo
XX:XX:XX:XX:XX:XX
pelo endereço MAC. Isto irá atribuir o endereço IP fixo 192.168.2.2:host device1 { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 192.168.2.2; }
- Chame a interface com o comando
sudo ifup <INTERFACENAME>
- Inicie o servidor DHCP com o comando
sudo dhcpd -f -d <INTERFACENAME>
(isso continuará sendo executado até você terminar com Ctrl-C e mostrar as mensagens de log no terminal) - Inicie a rede gerenciada com o comando
sudo hostapd -d /etc/hostapd/hostapd.conf
Se tudo correr bem, você deve conseguir conectar-se de um dispositivo móvel a essa rede Wi-Fi e o dispositivo deve receber um endereço IP no intervalo 192.168.2.X.
Acessando arquivos e serviços no laptop
Quando a rede for iniciada, o dispositivo móvel poderá acessar os serviços em execução no laptop (mas não na Internet). A maneira mais fácil de compartilhar arquivos do laptop é criar um compartilhamento do Samba para um diretório na rede. Isso pode ser feito clicando com o botão direito do mouse no ícone do diretório e escolhendo "Opções de compartilhamento", marque "Compartilhar esta pasta" e, opcionalmente, atribua um nome de compartilhamento, clique em "criar compartilhamento".
Para dispositivos Android, existem vários aplicativos que podem ser usados para acessar compartilhamentos do Samba, eu uso o "ES File Explorer". No aplicativo ES File Explorer, mude para a guia "LAN Shares" e adicione um novo servidor. No campo "servidor", insira o endereço IP do servidor, por exemplo, 192.168.2.1, em seguida, digite o ID do usuário e senha do Ubuntu e toque em "OK". Quando você toca no endereço IP do servidor, todos os compartilhamentos que você criou devem ser listados e, a partir daí, você pode copiar arquivos ou diretórios inteiros para o dispositivo Android.
Outra forma de acessar arquivos no laptop que também é suportada pelo aplicativo "ES File Explorer" é sftp
.