Execució de l’Ubuntu Touch¶
Nota
La informació d’aquesta pàgina és aplicable als ports que suporten Ubuntu Touch 20.04. Per a fer que el vostre port sigui compatible amb Ubuntu Touch 20.04, vegeu Compilació de la imatge.
usb-moded és un dimoni nou d’Ubuntu Touch 20.04 que gestiona les transicions entre els modes USB, p. ex. MTP i el mode desenvolupador. Substitueix una sèrie de treballs ad-hoc Upstart el 16.04, i l’script setupusb utilitzat pels ports recents.
El sistema pot detectar la majoria de les opcions importants. Però perquè usb-moded funcioni millor, vam animar els porters a donar algunes configuracions per assegurar la millor experiència per als porters.
Historial de la gestió del mode USB¶
A Ubuntu Touch 16.04, utilitzem propietats d’Android per emmagatzemar i configurar la configuració USB del telèfon. Això va funcionar bé en el passat, però avui ja no funciona:
Des de Halium 7.1, el component del costat Android que envia un senyal a Upstart per conduir la transició d’estat no s’està entrant. A més, el concepte de senyal no sembla existir a Systemd.
Des d’Android 8, el codi de configuració en mode USB es va moure a un procés HAL controlat pel venedor que parla sobre HIDL.
Això ha portat als portadors a recórrer a un script ad-hoc com setupusb que s’executa en arrencar per configurar el mode USB una vegada. I quan una cosa bàsica com aquesta es veu empesa als portadors, inevitablement condueix a la fragmentació.
A Ubuntu Touch 20.04, fem la transició a usb-moded que és un dimoni originari de SailfishOS. El dimoni no depèn de les propietats d’Android, però requereix configuració. Hem creat un «configurador» que detecta automàticament moltes d’aquestes opcions, però no pot detectar-ho tot. Per tant, encara es requereix una mica de configuració dels portadors.
Les configuracions bàsiques¶
La configuració principal és a /etc/default/usb-moded.d/device-specific-config.conf els porters poden utilitzar el sistema superposat per a col·locar el fitxer. El fitxer està en un format <clau>=<valor> simple. Un exemple d’això és el següent:
IDVENDOR=0E8D
IDPRODUCT_MTP=2008
IDPRODUCT_MTP_ADB=201D
IDPRODUCT_RNDIS=2004
IDPRODUCT_RNDIS_ADB=2005
USB_MODED_ARGS=
Es pot configurar el següent:
ID del producte del proveïdor USB¶
Les següents configuracions són molt recomanables per a ser establertes. Sense ell, el sistema es revertirà en el codi de prova del projecte pid.codes.
IDVENDOR
IDPRODUCTMTP
IDPRODUCTMTPADB
IDPRODUCTRNDIS
IDPRODUCTRNDISADB
Accepta els ID en hexadecimal sense prefix 0x. Els identificadors es poden trobar a:
El vostre dispositiu és
init.<device>.rcoinit.<chipset>.rc.El codi font USB HAL del vostre dispositiu, si passa a enviar-ne un.
L’script
setupusbdel vostre dispositiu, si està disponible.
En cas contrari, és possible que hàgiu d’investigar com es mostra el vostre dispositiu quan arrenqueu amb Android.
Nota
Som conscients que alguns dispositius utilitzen diferents identificadors de proveïdor per a diferents modes. Si el vostre dispositiu és un d’aquests, si us plau, informeu ,aquest problema a GitLab <https://gitlab.com/ubports/development/core/packaging/usb-moded/-/issues/5>..
Nom bonic dels dispositius¶
Aquest és el nom que es mostrarà quan es connecti a un ordinador. La majoria de les vegades, podem detectar-ho des de les propietats d’Android, però si la detecció no és correcta o voleu que el dispositiu es mostri de manera diferent, es pot configurar aquí.
FABRICANT
PRODUCTE
Arguments de la línia d’ordres¶
Aquesta configuració controla l’indicador de llançament del dimoni usb-moded. La majoria de les vegades, usb-moded hauria de funcionar sense cap bandera. No obstant això, el rootfs distribueix un valor predeterminat amb -r que habilita el mode de rescat en arrencar (vegeu més avall). El comportament del mode de rescat pot ser confús per als usuaris finals, de manera que es recomana que els portadors configuren aquest valor al valor en blanc per desactivar el mode de rescat.
USBMODEDARGS
Quant al mode de rescat d’usb-moded¶
El mode de rescat d’USB-moded és similar al mode d’usb-tethering d’Hybris-usb. Permet que l’USB del telèfon funcioni com una interfície de xarxa, i inicia un servidor DHCP. El telèfon estarà disponible a les 10.15.19.82, i un servidor SSH d’emergència estarà disponible al port 8022. Això està destinat als portadors a depurar problemes durant el desenvolupament, i per tant es mantindrà en aquest mode fins que es torni a connectar el cable.
Aquest comportament és útil per als portadors. Tanmateix, això pot ser confús per als usuaris finals quan s’envia el port. Per tant, vaig recomanar desactivar aquest mode abans de posar el port a disposició dels usuaris substituint USB__MODED_ARGS com s’ha comentat anteriorment.
Una altra característica de rescat disponible és la capacitat de forçar usb-moded a anar al «mode de rescat» o per habilitar ADB en cada reinici. Això es pot fer col·locant un fitxer buit a /userdata/.force-ssh o /userdata/.force-adb (que es tradueix a /data/.force-ssh o /data/.force-adb en la recuperació), i el sistema s’assegurarà que el mode correcte estigui habilitat.
Nota
Si utilitzeu ADB, també és possible que hàgiu de desactivar la sol·licitud d’autorització ADB. Vegeu Autoritza l’accés al dispositiu.
Configurar directament usb-moded¶
A més d’ajustar les opcions per a l’script del configurador, els portadors també poden establir opcions usb-moded directament a través de /etc/usb-moded/90-device-specific-config.ini. No obstant això, això està pensat com un mecanisme d’escapament en cas que falli la detecció automàtica, i si us heu trobat que necessiteu utilitzar aquest fitxer, considereu presentar un informe d’error sobre el repositori d’empaquetament usb-moded. Vegeu els documents d’usb-moded <https://github.com/sailfishos/usb-moded/blob/master/docs/usb_moded-doc.txt> per a la sintaxi.