0a97bda86855b3a953daf5c52300062310261dd9
journal de bord
super document partage
etat initial du device : lorsqu'on le branche, lsmod retourne cette ligne :
usbnet 61440 1 cdc_ether
qui est le driver charge nativement par le kernel.
il existe un moyen de "blacklist" ce-dit driver :
creer un fichier :
echo "blacklist cdc_ether" | sudo tee /etc/modprobe.d/blacklist.conf
puis mettre a jour le initramfs :
sudo update-initramfs -u
En l'etat (5/2/26) le driver s'installe, s'attache au device ch349 puis creer une interface reseau sur la machine. on peut alors recuperer le nom de l'interface grace a :
ip a
puis attribuer une IP a l'interface grace aux commandes suivantes :
sudo ip addr add 192.168.1.100/24 dev <nom_interface>
sudo ip link set <nom_interface> up
ce qui nous permet ensuite, depuis une autre machine d'envoyer des pings a l'ip (192.168.1.100) qui sont ensuite parses en hexadecimal et affiches sur l'interface usb (visibles en executant dmesg | grep ch349)
Todo
- Enregistrer une interface réseau
- Implémenter les opérations réseau
- Gérer la réception de trames
- Soumettre des URBs (USB Request Blocks) pour lire en continu sur l'endpt. IN
- Parser les trames ethernet reçues
- Les passer au network stack avec netif_rx(skb)
- Gérer l'émission de trames
- Récupérer l'adresse MAC
- Gérer les contrôles CDC
- Link up/down notifications via endpoint interrupt (0x81)
- Vitesse de connexion (10/100 Mbps)
- Statistiques réseau
- Gestion d'énergie et erreurs
- Gérer les déconnexions brutales
- Suspend/Resume propres
- Récupération d'erreurs USB
Utile
Description
Languages
C
88.6%
Makefile
11.4%