ການຕັ້ງຄ່າ usb-moded

Note

ຂໍ້ມູນໃນໜ້ານີ້ໃຊ້ໄດ້ກັບພອດທີ່ຮອງຮັບ Ubuntu Touch 20.04. ເພື່ອເຮັດໃຫ້ພອດຂອງທ່ານຮອງຮັບ Ubuntu Touch 20.04 ໃຫ້ເບິ່ງ ອັບເດດການພອດສຳລັບ Ubuntu Touch 20.04.

usb-moded ແມ່ນ daemon ໃໝ່ໃນ Ubuntu Touch 20.04 ເຊິ່ງຈັດການການປ່ຽນໂໝດ USB ເຊັ່ນ MTP ແລະ developer mode. ມັນມາປ່ຽນແທນ Upstart jobs ໃນເວີຊັນ 16.04 ແລະ ສະຄຣິບ setupusb ທີ່ໃຊ້ໃນພອດລຸ້ນຫຼ້າສຸດ.

ລະບົບສາມາດກວດພົບການຕັ້ງຄ່າສຳຄັນສ່ວນໃຫຍ່ໄດ້ເອງ ແຕ່ເພື່ອໃຫ້ usb-moded ເຮັດວຽກໄດ້ດີທີ່ສຸດ ພວກເຮົາແນະນຳໃຫ້ຜູ້ພອດທຳການຕັ້ງຄ່າບາງຢ່າງເພື່ອຮັບປະກັນປະສົບການການໃຊ້ງານທີ່ດີທີ່ສຸດ.

ປະຫວັດຂອງການຈັດການໂໝດ USB

ໃນ Ubuntu Touch 16.04 ພວກເຮົາເຄີຍໃຊ້ Android properties ເພື່ອເກັບ ແລະ ຕັ້ງຄ່າ USB ຂອງໂທລະສັບ. ວິທີນີ້ເຄີຍໃຊ້ໄດ້ດີໃນເມື່ອກ່ອນ ແຕ່ປັດຈຸບັນໃຊ້ບໍ່ໄດ້ແລ້ວ:

  • ຕັ້ງແຕ່ Halium 7.1, ສ່ວນປະກອບຝັ່ງ Android ທີ່ສົ່ງສັນຍານຫາ Upstart ເພື່ອປ່ຽນສະຖານະແມ່ນບໍ່ໄດ້ຖືກລວມເຂົ້າອີກ. ນອກຈາກນັ້ນ ແນວຄິດເລື່ອງສັນຍານເບິ່ງຄືວ່າບໍ່ມີຢູ່ໃນ Systemd.

  • ຕັ້ງແຕ່ Android 8, ໂຄ້ດການຕັ້ງຄ່າໂໝດ USB ໄດ້ຍ້າຍໄປຢູ່ໃນ HAL process ທີ່ຄວບຄຸມໂດຍເວນເດີ (vendor) ເຊິ່ງສື່ສານຜ່ານ HIDL.

ສິ່ງນີ້ນຳໄປສູ່ການທີ່ຜູ້ພອດຕ້ອງໃຊ້ສະຄຣິບສະເພາະກິດ ເຊັ່ນ setupusb ທີ່ຣັນຕອນບູດເພື່ອຕັ້ງຄ່າ USB ພຽງຄັ້ງດຽວ. ເມື່ອສິ່ງພື້ນຖານແບບນີ້ຖືກໂຍນໃຫ້ຜູ້ພອດຈັດການເອງ ກໍຫຼີກລ່ຽງບໍ່ໄດ້ທີ່ຈະເກີດບັນຫາຄວາມບໍ່ຕໍ່ເນື່ອງ (fragmentation).

ໃນ Ubuntu Touch 20.04 ພວກເຮົາປ່ຽນມາໃຊ້ usb-moded ເຊິ່ງເປັນ daemon ຈາກ SailfishOS. Daemon ນີ້ບໍ່ໄດ້ອີງໃສ່ Android properties ແຕ່ຕ້ອງມີການຕັ້ງຄ່າ. ພວກເຮົາໄດ້ສ້າງ "configurator" ເພື່ອກວດພົບການຕັ້ງຄ່າເຫຼົ່ານັ້ນໂດຍອັດຕະໂນມັດ ແຕ່ມັນກໍບໍ່ສາມາດກວດພົບໄດ້ທຸກຢ່າງ ຜູ້ພອດຈຶ່ງຍັງຕ້ອງທຳການຕັ້ງຄ່າບາງສ່ວນຢູ່.

ການຕັ້ງຄ່າພື້ນຖານ

ການຕັ້ງຄ່າຫຼັກແມ່ນຢູ່ທີ່ /etc/default/usb-moded.d/device-specific-config.conf ເຊິ່ງຜູ້ພອດສາມາດໃຊ້ລະບົບ overlay ເພື່ອວາງໄຟລ໌ໄດ້. ໄຟລ໌ແມ່ນຢູ່ໃນຮູບແບບ <key>=<value> ງ່າຍໆ ດັ່ງຕົວຢ່າງ:

IDVENDOR=0E8D
IDPRODUCT_MTP=2008
IDPRODUCT_MTP_ADB=201D
IDPRODUCT_RNDIS=2004
IDPRODUCT_RNDIS_ADB=2005
USB_MODED_ARGS=

ສິ່ງຕໍ່ໄປນີ້ສາມາດຕັ້ງຄ່າໄດ້:

USB vendor & product IDs

ແນະນຳຢ່າງຍິ່ງໃຫ້ຕັ້ງຄ່າຕໍ່ໄປນີ້. ຫາກບໍ່ຕັ້ງຄ່າ ລະບົບຈະກັບໄປໃຊ້ test code ຈາກ pid.codes project.

  • IDVENDOR

  • IDPRODUCT_MTP

  • IDPRODUCT_MTP_ADB

  • IDPRODUCT_RNDIS

  • IDPRODUCT_RNDIS_ADB

ມັນຮັບຄ່າ IDs ໃນຮູບແບບເລກຖານສິບຫົກໂດຍບໍ່ມີຄຳນຳໜ້າ 0x. ທ່ານສາມາດຫາ IDs ໄດ້ຈາກ:

  • ໄຟລ໌ init.<device>.rc ຫຼື init.<chipset>.rc ຂອງອຸປະກອນທ່ານ.

  • ຊອດໂຄ້ດ USB HAL ຂອງອຸປະກອນທ່ານ (ຖ້າມີ).

  • ສະຄຣິບ setupusb ຂອງອຸປະກອນທ່ານ (ຖ້າມີ).

ຫາກບໍ່ພົບ ທ່ານອາດຈະຕ້ອງກວດສອບເບິ່ງວ່າອຸປະກອນຂອງທ່ານສະແດງຜົນແນວໃດເມື່ອບູດໃນ Android.

Note

ພວກເຮົາຮັບຮູ້ວ່າບາງອຸປະກອນໃຊ້ vendor IDs ທີ່ຕ່າງກັນໃນແຕ່ລະໂໝດ. ຫາກອຸປະກອນທ່ານເປັນແບບນັ້ນ ກະລຸນາໄປກົດ upvote ບັນຫານີ້ໃນ GitLab.

ຊື່ທີ່ສະແດງຂອງອຸປະກອນ (Pretty name)

ນີ້ແມ່ນຊື່ທີ່ຈະສະແດງເມື່ອສຽບອຸປະກອນເຂົ້າກັບຄອມພິວເຕີ. ສ່ວນຫຼາຍພວກເຮົາຈະກວດພົບຊື່ນີ້ໄດ້ຈາກ Android properties ແຕ່ຫາກການກວດພົບບໍ່ຖືກຕ້ອງ ຫຼື ທ່ານຢາກປ່ຽນຊື່ໃໝ່ ກໍສາມາດຕັ້ງຄ່າໄດ້ຢູ່ນີ້.

  • MANUFACTURER

  • PRODUCT

ອາກິວເມັນຂອງ usb-moded

ການຕັ້ງຄ່ານີ້ໃຊ້ຄວບຄຸມ flag ໃນການເປີດໃຊ້ usb-moded daemon. ສ່ວນຫຼາຍ usb-moded ຈະເຮັດວຽກໄດ້ໂດຍບໍ່ຕ້ອງໃຊ້ flag ໃດໆ. ແຕ່ໃນ rootfs ຈະມີຄ່າເລີ່ມຕົ້ນເປັນ -r ເຊິ່ງເປັນການເປີດ rescue mode ຕອນບູດ (ເບິ່ງລາຍລະອຽດດ້ານລຸ່ມ). ເນື່ອງຈາກ rescue mode ອາດເຮັດໃຫ້ຜູ້ໃຊ້ທົ່ວໄປສັບສົນ ຜູ້ພອດຈຶ່ງຄວນຕັ້ງຄ່ານີ້ໃຫ້ເປັນຄ່າຫວ່າງເພື່ອປິດ rescue mode.

  • USB_MODED_ARGS

ກ່ຽວກັບ rescue mode ຂອງ usb-moded

rescue mode ຂອງ usb-moded ຈະຄ້າຍກັບ usb-tethering ຂອງ hybris-usb. ມັນຈະເຮັດໃຫ້ USB ຂອງໂທລະສັບເຮັດວຽກເປັນ network interface ແລະ ເລີ່ມ DHCP server. ໂທລະສັບຈະເຂົ້າເຖິງໄດ້ທີ່ IP 10.15.19.82 ແລະ ມີ SSH server ສຸກເສີນທີ່ພອດ 8022. ໂໝດນີ້ມີໄວ້ໃຫ້ຜູ້ພອດໃຊ້ debug ບັນຫາໃນລະຫວ່າງການພັດທະນາ ແລະ ຈະຢູ່ໃນໂໝດນີ້ຈົນກວ່າຈະຖອດແລ້ວສຽບສາຍ USB ໃໝ່.

ພຶດຕິກຳນີ້ເປັນປະໂຫຍດສຳລັບຜູ້ພອດ ແຕ່ອາດເຮັດໃຫ້ຜູ້ໃຊ້ທົ່ວໄປສັບສົນເມື່ອປ່ອຍພອດອອກໄປແລ້ວ. ຂ້າພະເຈົ້າຈຶ່ງແນະນຳໃຫ້ປິດໂໝດນີ້ກ່ອນເຜີຍແຜ່ໃຫ້ຜູ້ໃຊ້ ໂດຍການ override USB_MODED_ARGS ຕາມທີ່ໄດ້ກ່າວໄວ້.

ຟີເຈີກູ້ໄພອີກຢ່າງແມ່ນການບັງຄັບໃຫ້ usb-moded ເຂົ້າສູ່ "rescue mode" ຫຼື ເປີດ ADB ທຸກຄັ້ງທີ່ບູດ. ເຮັດໄດ້ໂດຍການວາງໄຟລ໌ຫວ່າງໄວ້ທີ່ /userdata/.force-ssh ຫຼື /userdata/.force-adb (ເຊິ່ງກໍຄື /data/.force-ssh ຫຼື /data/.force-adb ໃນ recovery) ແລ້ວລະບົບຈະຈັດການເປີດໂໝດທີ່ຖືກຕ້ອງໃຫ້ເອງ.

Note

ຫາກໃຊ້ ADB ທ່ານອາດຈະຕ້ອງປິດການແຈ້ງເຕືອນການຂໍອະນຸຍາດ ADB ນຳ. ເບິ່ງ ອະນຸຍາດການເຂົ້າເຖິງອຸປະກອນ.

ການຕັ້ງຄ່າ usb-moded ໂດຍກົງ

ນອກຈາກການປັບແຕ່ງຜ່ານ configurator script ແລ້ວ ຜູ້ພອດຍັງຕັ້ງຄ່າຕົວເລືອກ usb-moded ໂດຍກົງໄດ້ຜ່ານໄຟລ໌ /etc/usb-moded/90-device-specific-config.ini. ເຖິງຢ່າງໃດກໍຕາມ ນີ້ແມ່ນທາງເລືອກສຸດທ້າຍໃນກໍລະນີທີ່ການກວດພົບອັດຕະໂນມັດລົ້ມເຫຼວ. ຫາກທ່ານຕ້ອງໄດ້ໃຊ້ໄຟລ໌ນີ້ ໃຫ້ພິຈາລະນາແຈ້ງບັນຫາໄປທີ່ repository ຂອງ usb-moded. ສຳລັບຮູບແບບການຂຽນ (syntax) ໃຫ້ເບິ່ງທີ່ usb-moded's docs <https://github.com/sailfishos/usb-moded/blob/master/docs/usb_moded-doc.txt>