Contrôle primaire du port RJ45

Bonjour tout le monde !

J’ai un OS raspbian sur une raspberry pi 3 sans GUI, je m’éclate comme un petit fou. Ma dernière lubie: contrôler le port RJ45, c’est à dire pouvoir écouter et allumer chacun des huit contacts de la prise. Je cherche donc un ensemble de fichiers/répertoires/commandes qui sont utilisés/exécutés au niveau du noyaux ou le plus proche possible du noyaux.
Par la suite, l’idée serait d’implanter moi-même un protocoles de communication entre deux, voire plus, machine. Mais pour l’instant, il s’agit de contrôler chacun des huit connecteurs de la prise RJ45 sur un raspberry.

J’ai passé quelques heures à éplucher la doc, mais je suis presque toujours tombé sur de la configuration réseau (avec le protocole TCP/IP du coup).
Du coup, j’ai cherché le pilote du matériel: identification du matos avec lsusb, lsusb -t m’a donné le nom du driver: smsc95xx. Je l’ai choppé sur GitHub (le lien est en fin de message), je vais explorer tout ça.

Si quelqu’un peut me confirmer que c’est le meilleur moyen ou me donner une autre piste, je suis partant ! Idem pour une doc un peu plus ciblé que : Le C; j’ai des notions, je me débrouille avec la doc, mais le driver fait toujours 2222 lignes =). (d’un autre côté, ça laisse du temps pour répondre)
Y aurait-il une doc du driver lui-même à coté de laquelle je serais passé ?

En vous remerciant !

Lien vers GitHub (Driver)
Retour des commandes lsusb:

# lsusb
Bus 001 Device 004: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
        |__ Port 2: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M

On ne peut pas. Le protocole de la couche physique ethernet est implanté directement dans le matériel (PHY).

Utilise plutôt les GPIO, c’est fait pour ça.

Une gestion de la couche physique entièrement par logiciel aurait des performances désastreuses. Pourquoi ne pas plutôt implanter ton protocole au-dessus de la couche ethernet ?

Je vois, tant pis ! Je suis pas trop fan des GPIO, pas pour ça en tout cas. Mais je le garde en tête, je te remercie !
Eeeeh bhe oui, je crois que c’est ce que je vais faire ! Comme ça je pourrais en apprendre plus sur tout le modèle osi !!

Bonne journée à toi !

Pourquoi ?