Eu iria compilar o ethtool a partir do código-fonte e recompilar o cdc_ether e o usbnet contra o seu kernel.
De David Brownell (autor de cdc_ether)
Ethtool
Com o ethtool versão 1.5 ou posterior e a versão recente do driver usbnet, você pode obter informações adicionais do driver. Dispositivos diferentes podem ter informações diferentes disponíveis; por exemplo, a disponibilidade de links nem sempre é conhecida. O Linux define algumas interpretações padrão para os bits "nível de mensagem", que não são amplamente usados ... mas este framework os utiliza para todos os seus dispositivos, permitindo que você mascare quais mensagens serão vistas. (Muitas mensagens não estarão disponíveis a menos que a depuração esteja ativada.)
sh# ethtool usb0
Settings for usb0:
Current message level: 0x00000001 (1)
sh# ethtool -i usb0
driver: usbnet
version: 17-Jul-2002
firmware-version: Prolific PL-2301/PL-2302
bus-info: usb-00:02.0-1.2
sh#
sh# ethtool usb1
Settings for usb1:
Current message level: 0x00000001 (1)
Link detected: no
sh# ethtool -i usb1
driver: usbnet
version: 17-Jul-2002
firmware-version: NetChip TurboCONNECT
bus-info: usb-00:02.0-1.4
sh#
Você pode querer usar valores estáveis de informações de barramento para descobrir qual endereço de rede deve ser atribuído a um determinado link, se sua configuração de roteamento precisar disso. Você pode usar o ip link set usbN nome newname ou ferramentas semelhantes. (NOTA: infelizmente, a ferramenta nameif não ajudará, pois pressupõe que os endereços Ethernet resolvam esse problema. Para endereços Ethernet atribuídos dinamicamente, isso não funciona; o uso de "bus-info" é a solução apropriada.)
Veja também link sobre como lidar com esses problemas de hotplug, principalmente com o Debian e sem fio.)