66 lines
1.7 KiB
Markdown
66 lines
1.7 KiB
Markdown
# 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 ch397 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 ch397)
|
|
|
|
## 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
|
|
|
|
<https://cdn.promelec.ru/upload/items/2025/09/18/CH397_.pdf>
|