Posts tagged ‘cpl’

Configuration des adaptateurs CPL sous Linux

Je possède des adaptateurs CPL Bewan Powerline E200Maxx qui remplissent à merveille leur rôle, seulement, en dehors de l’utilitaire Windows, point d’outil pour configurer ces adaptateurs, ce qui serait pourtant bien utile pour configurer la QoS et surtout le mot de passe utilisé pour chiffrer le traffic.

Un premier logiciel libre, Faifa, permet de forger et d’envoyer aux adaptateurs CPL basés sur le chipset Intellon (c’est à dire la majorité des adaptateurs sur le marché) la plupart des frames ethernet des protocoles HomePlug 1.0 et HomePLug AV

Des paquets existent pour les distributions basées sur Debian, ainsi qu’une bibliothèque permettant d’écrire ses propres programmes utilisant ces protocoles.

Il existe aussi  plconfig, un autre logiciel libre (qui devrait fonctionner sous les xBSD) qui offre une interface moins “bas niveau”

Recherche des adaptateurs CPL avec faifa

root@iron:/tmp# faifa -m
Faifa for HomePlug AV (SVN revision 50)

Started receive thread

Supported HomePlug AV frames

type   description
------ -----------
0x0014 Central Coordination Discover List Request
0x6020 Get Bridge Infos Request
0x6038 Get Network Infos Request
0x6048 Get Network Stats Request
0xA000 Get Device/SW Version Request
0xA004 Write MAC Memory Request
0xA008 Read MAC Memory Request
0xA00C Start MAC Request
0xA01C Reset Device Request
0xA020 Write Module Data Request
0xA02C Get Watchdog Report Request
0xA030 Get Link Statistics Request
0xA034 Sniffer Mode Request
0xA038 Network Info Request (Vendor-Specific)
0xA040 Check Points Request
0xA048 Loopback Request
0xA04C Loopback Status Request
0xA050 Set Encryption Key Request
0xA054 Get Manufacturing String Request
0xA058 Read Configuration Block Request
0xA068 Get Device Attributes Request
0xA06C Get Ethernet PHY Settings Request
0xA070 Get Tone Map Caracteristics Request

Supported HomePlug 1.0 frames

type   description
------ -----------
0x0000 Channel Estimation Request
0x0004 Set Network Encryption Key Request
0x0007 Parameters and Statistics Request
0x0019 Set Local parameters Request
0x001D Set Local Overrides Request

Choose the frame type (Ctrl-C to exit): 0x

Ce menu présente les types de frame HomePlug 1.0/AV pouvant être forgées. Libre ensuite aux adaptateurs de répondre correctement :)

Quelques exemples d’informations disponibles sur les adaptateurs :

Frame: Get Network Infos Request (0x6038)

Dump:
Frame: Get Network Infos Confirm (6039), HomePlug-AV Version: 1.1
NID: xx xx 58 8B 3F xx xx
TEI: 0x01 (1)
STA Role: 0x02 (Network coordinator)
MAC address: 00:0C:C3:xx:xx:xx
Access: 0x00 (In-Home network)
Number of neighbors: 0
Frame: Get Device/SW Version Request (0xA000)

Dump:
Frame: Get Device/SW Version Confirm (A001), HomePlug-AV Version: 1.0
Status: Success
Device ID: INT6300, Version: INT6000-MAC-3-3-3348-04-2768-20081022-FINAL-B, upgradeable: 0

On voit bien ici la signature du fabricant INTellon

Frame: Network Info Request (Vendor-Specific) (0xA038)

Dump:
Frame: Network Info Confirm (Vendor-Specific) (A039), HomePlug-AV Version: 1.0
Network ID (NID): xx xx 58 8B 3F xx xx
Short Network ID (SNID): 0x07
STA TEI: 0x01
STA Role: Network coordinator
CCo MAC:
	00:0C:C3:xx:xx:xx
CCo TEI: 0x01
Stations: 1
Station MAC       TEI  Bridge MAC        TX   RX
----------------- ---- ----------------- ---- ----
00:0C:C3:xx:xx:xx 0x02 00:0C:C3:xx:xx:xx 0x86 0x7a

Les spécifications HomePlug sont disponibles sur ce site, merci à l’auteur d’avoir sauvegardé ce document ! (que je me permet de copier également ici au cas où)

Mise à jour 2010/12/30

Devolo met à disposition avec ses adaptateurs (sur le cd-rom fourni) et sur son site Internet le code source de 2 petits logiciels, dlanlist et dlanpasswd permettant de respectivement voir les adaptateurs présents sur le réseau et de changer leur mot de passe:

# ./dlanlist
Type    MAC address        Mbps TX/RX       Version/Product
local   00:0C:C3:XX:XX:XX  ---.-- / ---.--  INT6000-MAC-3-3-3348-04-2768-20081022-FINAL-B Intellon HomePlug AV Device
remote  00:0C:C3:XX:XX:XX  166.69 /  86.62  INT6000-MAC-3-3-3348-04-2768-20081022-FINAL-B
# ./dlanpasswd
Usage: dlanpasswd MAC-ADDRESS PASSWORD
   or: dlanpasswd MAC-ADDRESS PASSWORD SECURITY-ID

In the 1st form, assign PASSWORD to the local dLAN adapter MAC-ADDRESS.

In the 2nd form, assign PASSWORD to the remote dLAN 200 AV adapter identified
by SECURITY-ID, using the local dLAN 200 AV adapter MAC-ADDRESS to forward the
request to the PowerLine.

Je n’ai pas encore essayé de changer le mot de passe de mes adaptateurs, mais cela devrait fonctionner vu que le chipset Intellon est commun à beaucoup d’adaptateurs. Si vous avez essayé, dites-le moi :)

Voici le contenu du tarball, il n’y a semble-t-il pas de licence pour le code, juste un (c) 2007-2009 devolo AG, Aachen (Germany

# find .
.
./common
./common/macheader.h
./common/packetinterface.h
./common/platform.h
./common/dlandevice.h
./common/packettask.h
./common/packetdispatcher.h
./common/hpmmes.h
./common/macaddress.h
./common/hptools.cpp
./common/packet.h
./common/mscounter.h
./common/hpsecurity.cpp
./common/dlanmonitor.h
./common/packetinterface-linux.h
./common/packetinterface-linux.cpp
./common/macaddress.cpp
./common/hpsecurity.h
./common/hptools.h
./common/dlanmonitor.cpp
./common/dlandevice.cpp
./makefile
./tools
./tools/dlanpasswd.cpp
./tools/dlanlist.cpp
./README

Pour récupérer l’archive la plus à jour possible de plus simple est de passer par Espace SAV-> Choisir produit-> Afficher les téléchargements

Ca compile proprement, merci Devolo ! (A essayer sous un BSD pour voir)