En plus du système Android fonctions USB génériques (comme adb
, mtp
, rndis
), rmnet_gsi
est une fonction USB spécifique au matériel qui expose certaines des fonctionnalités de votre modem GSM/3G/LTE au PC via USB. En général, ce n'est pas un problème pour un utilisateur ordinaire.
Il s'agit de comprendre deux concepts fondamentaux :
-
Comment Android communique avec le modem/BP (qui vit sur le SoC avec d'autres composants centraux, notamment le CPU/AP et la RAM) pour les données Internet. La communication avec le modem/BP s'effectue par exemple via des canaux série (comme USB ou UART, selon le cas). autres composants de SoC le font : QDL 9006/9008, EDL,
fastboot
etc.), ou en partageant une zone réservée de la RAM (par exemple SMD ou SSM dans le cas de Qualcomm).
- Comment les différentes fonctions USB de Android Composite Gadget driver (qui est un extension au noyau de Linux API de gadget USB ) sont utilisés pour exposer Android dans Dispositif USB à un Hôte USB comme le PC. Différentes fonctions USB (comme UMS, MTP, RNDIS, etc.) peuvent être configurées et commutées à l'aide des fonctions suivantes
sysfs
o configfs
.
Sur les appareils équipés de la technologie Qualcomm MSM SoCs (comme les modems USB ou les téléphones), RmNet (Remote Network) est le protocole de transfert de données et de contrôle du modem qui expose l'interface Ethernet comme IP comme canal de données et utilise QMI comme protocole de contrôle . Interface logicielle générique ( GSI qui a remplacé le BAM) transporte la communication avec le noyau IPA du modem. L'Accélérateur de paquets Internet (IPA) est une Paquet IP qui est plus performant que le CPU/AP dans ce but spécifique.
IPA/GSI peut être utilisé avec différents protocoles de connexion notamment RNDIS, RmNet et DIAG/DPL/QDSS. Afin d'accéder à la BP à partir d'un PC (par exemple, pour utiliser Internet ou effectuer un débogage), le noyau Android comprend des fonctions USB (telles que rmnet_gsi
) pour ces protocoles afin de les exposer par le biais de l'USB (de sorte que le périphérique Android apparaisse comme un modem USB). Protocoles propriétaires ne peut être utilisé sans le logiciel fourni par le fournisseur. Par exemple, sur les appareils Android, nous avons RIL et cnd
- démons fournis par le fournisseur - pour communiquer avec BP. Il existe toutefois des outils open source tels que QCSuper qui peut parler Protocole Diag en /dev/diag
.
RESSOURCES :