Capítulo 25. Modo de dispositivo USB/USB OTG

Índice
25.1. Sinopse
25.2. Portas Seriais Virtuais USB
25.3. Interfaces de rede do modo de dispositivo USB
25.4. Dispositivo de armazenamento virtual USB

25.1. Sinopse

Escrito por Edward Tomasz Napierala.

Este capítulo aborda o uso do Modo de Dispositivo USB e USB On The Go (USB OTG) no FreeBSD. Isso inclui consoles seriais virtuais, interfaces de rede virtual e drives USB virtuais.

Quando rodando em hardware que suporta o modo de dispositivo USB ou USB OTG, como aquele embutido em muitas placas embarcadas, a stack USB do FreeBSD pode ser executada em modo de dispositivo. O modo de dispositivo possibilita que o computador apresente-se como diferentes tipos de classes de dispositivos USB, incluindo portas seriais, adaptadores de rede e armazenamento em massa, ou uma combinação dos mesmos. Um host USB como um laptop ou computador desktop pode acessá-los assim como faria com dispositivos USB físicos. O modo de dispositivo é algumas vezes chamado de modo USB gadget.

Existem duas maneiras básicas pelas quais o hardware pode fornecer a funcionalidade do modo de dispositivo: com uma "porta de cliente" separada, que suporta apenas o modo de dispositivo, e com uma porta USB OTG, que pode fornecer o modo de dispositivo e o modo de host. Para portas USB OTG, a stack USB alterna automaticamente entre o lado do host e o lado do dispositivo, dependendo do que estiver conectado à porta. Conectar um dispositivo USB como um cartão de memória à porta faz com que o FreeBSD mude para o modo de host. Conectar um host USB como um computador faz com que o FreeBSD mude para o modo de dispositivo. As "portas do cliente" de finalidade única sempre funcionam no modo de dispositivo.

O que o FreeBSD apresenta para o host USB depende do sysctl hw.usb.template. Alguns modelos fornecem um único dispositivo, como um terminal serial; outros fornecem vários, que podem ser todos usados ​​ao mesmo tempo. Um exemplo é o template 10, que fornece um dispositivo de armazenamento em massa, um console serial e uma interface de rede. Veja o usb_template(4) para obter a lista de valores disponíveis.

Observe que, em alguns casos, dependendo do hardware e do sistema operacional do host, para o host notar a alteração da configuração, ele deve ser fisicamente desconectado e reconectado ou forçado a verificar novamente o barramento USB de uma maneira específica do sistema. Quando o FreeBSD é executado no host, o usbconfig(8) reset pode ser usado. Isto também deve ser feito após carregar o usb_template.ko se o host USB já estiver conectado ao soquete USB OTG .

Depois de ler este capítulo, você saberá:

  • Como configurar a funcionalidade do modo de dispositivo USB no FreeBSD.

  • Como configurar a porta serial virtual no FreeBSD.

  • Como se conectar à porta serial virtual de vários sistemas operacionais.

  • Como configurar o FreeBSD para fornecer uma interface de rede virtual USB.

  • Como configurar o FreeBSD para fornecer um dispositivo virtual de armazenamento USB.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.