Menentukan mapping port usb dengan menggunakan udev di linux




pendahuluan dulu, pertanyaannya kenapa harus menentukan maaping path device usb agar static atau tidak berubah ubah. Awal nya karena dari kisah sedih sebuah printer untuk mesin kasir yang bikin mumet dan tidak bisa mencetak sturk ketika port usb nya di pindah dan dilakukan restart. 


Jadi saya akan berbagi untuk tips caranya.

Misalnya, yang terhubung ke komputer saya adalah UPS berbasis USB APC, bersama dengan printer USB seri EPSON TM-U220. Awalnya saya menginstal printer sebelum saya nambahin UPS yang dimana printer itu dikonfigurasi pada port  '/dev/usb/lp0'.

Namun setelah UPS dipasang dengan komputer saya, printer bukan lagi perangkat utama dan hanya dapat diakses di '/dev/usb/lp1'. Ini yang bikin males mesti lakukan setting konfigurasi kalau berubah2 terus , jadi saya memutuskan untuk membuat settingan udev di OS linux yang digunakan untuk menetapkan symlink dari 'lp1' ke 'lp0'.

Note: ini untuk linux distro keluarga Debian,Ubuntu turunan seperti Linux Mint dll.

Berikut adalah konfigurasi yang saya buat:

1. Mapping ini adalah mendaftarkan detail dari perangkat printer yang kita gunakan dan apa saja yang perli di daftarkan, contoh id printer saya:

  • idVendor = 04a9
  • idProduk = 2771
  • serial = 0000A1E6M897
cara cek nya:
idVendor: sudo udevadm info -a -n /dev/usb/lp0 | grep '{idVendor}' idProduk: sudo udevadm info -a -n /dev/usb/lp0 | grep '{idProduct}' serial: sudo udevadm info -a -n /dev/usb/lp0 | grep '{serial}'

/dev/usb/lpXXX --> di sesuaikan dengan device printer yang terdeteksi saat ini. 

 jika output yang di hasilkan lebih dari satu silahkan paka command dan cek infomasi manufaktur pada output dibawah agar tidak terjadi kesalahan ketika mengambil kode yang di butuhkan:

sudo udevadm info -a -n /dev/usb/lp0

2. Kemudian membuat sebuah file konfigurasi pada udev:

sudo vi  /etc/udev/rules.d/99-printer.rules

tambahkan konfigurasi berikut pada pada file, lalu save

 ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="2771", ATTRS{serial}=="0000A1E6M897", SYMLINK+="usb/lp0"

3. Untuk melakukan load konfigurasi tersebut dengan perintah:

sudo udevadm control --reload-rules && udevadm trigger

4. Restart komputernya dan cabut colok USB nya. Kemudian pastikan maaping usb dengan udev berhasil

sudo ls -l /dev/usb



Nah itu hasilnya,, saya mapping dari /dev/usb/lp1 ke /dev/usb/indra.


Saya harap posting ini bermanfaat. Jika Anda memiliki masalah, silakan posting di komentar dan saya akan mencoba membantu. 

atau email ke indroid378@gmail.com

0 komentar