Solusi Internal SD Card Reader Tidak Terdeteksi pada openSUSE 12.3

sdcard_4gb

Laptop yang saya gunakan terpasang internal SD Card Reader tipe Realtek device 5289. Driver perangkat tersebut tidak tersedia pada openSUSE 12.3 Kernel 3.7. Bedasarkan referensi yang saya peroleh, kernel module untuk SD Card Reader tipe tersebut baru didukung pada Kernel 3.8.

Beberapa tutorial sudah saya coba, akhirnya berhasil setelah menggunakan Dynamic Kernel Module Support (DKMS) framework. Kemudian memasang paket dkms-rts_bpp kernel module untuk Realtek Card Reader Device 5289.

Langkah instalasi, sebelumnya memeriksa detail informasi perangkat yang ada dalam sistem mengunakan perintah lspci.

$ sudo su
$ lspci
********
01:00.0 3D controller: NVIDIA Corporation Device 1140 (rev a1)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5289 (rev 01)
03:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 0a)
04:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)
********

Memperhatikan informasi lspci di atas, perangkat SD Card Reader yaitu Realtek Semiconductor Co., Ltd. Device 5289 (rev 01)

Paket DKMS salah satunya terdapat dalam repository Overman79/Laptop. Sebelumnya saya sudah menambah repo ini saat menginstall Bumbleblee untuk NVidia Optimus VGA.

// Tambah repositori Overman79/Laptop.
$ zypper ar http://download.opensuse.org/repositories/home:/Overman79:/Laptop/openSUSE_12.3/ Overman79

// install dkms dan dkms-rts_bpp
$ zypper in dkms dkms-rts_bpp

// aktifkan dkms service
$ systemctl enable dkms

Nah, masukkan SD Card ke dalam Card Reader dan akhirnya dapat dibaca oleh sistem. Periksa juga output yang terdapat pada file /var/log/messages.

Sharing Scanner Menggunakan Raspberry Pi dan SANE

Setelah mengkonfigurasi Print Server, dilanjut sharing scanner melalui jaringan menggunakan Raspberry Pi. Printer yang saya pakai Canon MP160, merupakan printer multifungsi selain berfungsi untuk mencetak juga dilengkapi pemindai scanner. Agar fitur scanner juga bisa diakses via jaringan harus mengkonfigurasi SANE pada Raspberry PI.

raspi-sane-pict

Konfigurasi SANE

Paket yang harus diinstal adalah sane-utils dan libsane, ternyata pada Raspbian Wheezy (Raspbmc) keduanya sudah terpasang saat menginstall CUPS untuk print server kemarin. Kalau belum diinstal silakan jalankan apt-get.

Cek scanner yang tersambung
$ sane-find-scanner
###
found USB scanner (vendor=0x04a9 [Canon], product=0x1714 [MP160]) at libusb:001:005
found USB scanner (vendor=0x0424, product=0xec00) at libusb:001:003
###


$ scanimage -L
device `pixma:04A91714' is a CANON Canon PIXMA MP160 multi-function peripheral

Selanjutnya edit konfigurasi /etc/sane.d/saned.conf agar bisa diakses via jaringan lokal, masukkan IP subnet yang digunakan misal 192.168.0.0/24.

#/etc/sane.d/saned.conf
#scan-client.somedomain.firm
192.168.0.0/24

Kemudian mengaktifkan SANE daemon (saned), edit file /etc/default/saned dan jalankan service.

# /etc/default/saned
RUN=yes
RUN_AS_USER=saned

Jalankan Saned
$ /etc/init.d/saned start

Konfigurasi Komputer Klien

Konfigurasi pada Linux, mengedit /etc/sane.d/net.conf masukkan alamat IP server. Untuk aplikasinya bisa menggunakan XSane. Untuk openSUSE seperti biyasa menggunakan yast, hardware -> scanner -> others -> Scanning via Network, kemudian pada “client setting” masukkan IP server.

Untuk MacOS X menggunakan Twain Sane Interface for Mac OSX, sedangkan untuk Windows menggunakan SaneTwain. Perlu juga dicoba akses SANE scanner pada gajet Android, menggunakan aplikasi InSaneScanner.

Uji Coba

Saya coba untuk memindai gambar ukuran A4 dengan kualitas scan resolusi rendah 75 dpi sampai resolusi 600 dpi, cukup lancar dan kualitas gambar cukup bagus. Berikut ini screenshoot proses menggunakan perintah ‘top’ dan lalu-lintas jaringan saat memindai dengan resolusi 600 dpi.

raspi-sane-pict-02
Cek proses menggunakan ‘top’

raspi-sane-pict-03
Cek lalu-lintas jaringan menggunakan ‘iftop’, server Raspi: 192.168.0.102, client: 192.168.0.103

Raspberry Pi sebagai Print Server

Selain untuk hiburan Raspberry Pi juga saya gunakan untuk memudahkan pekerjaan — sebagai Print Server. Laptop tersambung ke WIFI rumah langsung terhubung ke print server tak perlu ribet mendekat ke meja printer colok kabel USB.

Saya masih menggunakan paket instalasi Raspbmc, karena baru punya 1 buah Raspi jadi dalam satu mesin saya gunakan sebagai media center sekaligus print server dan mungkin nanti untuk keperluan lainnya juga *maksa*. Beruntunglah Raspbmc berbasis Raspbian Wheezy didukung repostiorinya sehingga fleksibel untuk menambah paket aplikasi yang dibutuhkan.

Jadi gini, untuk print server saya akan mengkonfigurasi Raspberry Pi dengan printer Canon MP160, menginstal CUPS, kemudian menginstall printer di komputer client via Internet Print Protocol (IPP).

Konfigurasi Print Server
Menginstal CUPS sekaligus paket pedukungnya.
$ sudo apt-get install cups

Konfigurasi user untuk otorisasi manajemen printer, memasukkan user pi sebagai anggota grup lpadmin.
$ sudo usermod -aG lpadmin pi

Mengaktifkan sharing printer dan membuka akses untuk remote admin
$ sudo cupsctl --share-printers --remote-printers --remote-admin

Jalankan CUPS
$ sudo /etc/init.d/cups start

Kemudian mengakses manajemen CUPS via web https://{Alamat IP Raspi}:631/admin/, tambahkan printer baru (add new printer). Tipe printer saya terdeteksi Canon MP160, Pilih make/manufacture: RAW, dengan setelan ini maka beban CPU pada print server lebih ringan dan proses pencetakan lebih cepat, tetap nanti di komputer client harus disetel driver printer yang sesuai. Dengan sistem demikian, print server tidak dapat melakukan pencetakan sendiri, bila di-test print melalui web interface CUPS tidak ada respon, jadi pencetakan hanya bisa dari Komputer client.

Saya pernah mencoba konfigurasi print server, setelan CUPS dipasang driver sesuai printernya, proses pencetakan lambat dan print spooling lama.

raspi-printsrv-01

Karena sistem berbagi-pakai printer menggunakan IPP, untuk setelan di komputer client menggunaka url printer ipp://{Alamat IP Raspi}:631/printers/Canon_MP160 atau menggunakan protokol http untuk setelan di MS Windows.

Instalasi Printer pada Komputer Client
Konfigurasi di Linux, saya menggunakan openSuse jadi cukup memakai Yast. Buka setelan printers, pilih Print via Network, saya lebih prefer memilih “Do All Printing Directly via One Single CUPS server”, kemudian masukan alamat IP print server. Lanjut, pilih device driver yang sesuai, terakhir coba klik test printer.

raspi-printsrv-02

Konfigurasi pada Mac OSX, buka setelan Printer pada System Preference. Add printer — biyasanya otomatis mendeteksi printer yang di-share di jaringan. Kemudian sesuaikan driver printer-nya.

raspi-printsrv-03

Konfigurasi pada Windows 7, Tambah printer baru, pilih “Add a network, wireless or Bluetooth printer”, biarkan aplikasi memindai printer bila tidak ditemukan klik “The printer that I want isn’t listed”. Selanjutnya, masukan url printer http://{Alamat IP Raspi}:631/printers/Canon_MP160 pada “Select a shared printer by name”. Terakhir pilih driver pinternya.

Bila klien kebanyakan menggunakan Windows sebaiknya juga mengkonfigurasi print sharing via Samba Share. Untuk perangkat yang berbasis Mac bisa mengkonfigurasi AirPrint.

Sebagai tambahan, untuk performa pencetakaannya cukup cepat meski Raspi sedang digunakan untuk memutar film.

Referensi:
CUPS is too slow, how can I make it faster?

Mengatasi auto-suspend pada USB Mouse di openSUSE

Saya mengalami masalah dengan USB Mouse yang dipasang di Laptop Acer V5-471 dengan Opensuse 12.3. Dalam kondisi kabel power suply tidak menancap, beberapa detik mouse tidak digunakan tiba-tiba langsung mati (sinar tidak menyala), mouse digerakkan tidak ada respon pada kursor. Setelah memberikan trigger dengan mengklik tombol mouse baru bisa berfungsi lagi, tidak digunakan beberapa detik mouse mati lagi, begitu seterusnya. Namun bila kabel power suply ditancapkan tidak mengalami masalah tersebut.

Untuk mengatasi masalah ini, Laptop sudah terpasang paket Laptop-mode-tool, terdapat konfigurasi pada /etc/laptop-mode/conf.d/usb-autosuspend.conf, buka file tersebut kemudian pada CONTROL_USB_AUTOSUSPEND=”auto” diganti menjadi CONTROL_USB_AUTOSUSPEND=”0″ dan masalah teratasi.

/etc/laptop-mode/conf.d/usb-autosuspend.conf

# Enable USB autosuspend feature?
# Set to 0 to disable
CONTROL_USB_AUTOSUSPEND="0"

Namun konfigurasi tersebut mematikan fungsi USB autosuspend pada setiap peralatan USB yang ditancapkan. Bisa juga hanya salah satu USB device yang di-exclude atau blacklist dari fungsi autosuspend. Periksa dahulu idVendor dan idProduct dari mouse yang digunakan, lepas dan pasang kebali mouse, kemudian periksa menggunakan perintah dmesg.

#dmesg

[ 9833.201151] usb 3-1: new low-speed USB device number 5 using xhci_hcd
[ 9833.217760] usb 3-1: New USB device found, idVendor=046d, idProduct=c03d
[ 9833.217775] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 9833.217777] usb 3-1: Product: USB-PS/2 Optical Mouse
[ 9833.217779] usb 3-1: Manufacturer: Logitech

Muncul nilai idVendor=046d idProduct=c03d, buka file konfigurasi /etc/laptop-mode/conf.d/usb-autosuspend.conf pada AUTOSUSPEND_USBID_BLACKLIST masukkan nilainya dengan format idVendor: idProduct (“046d:c03d”).

/etc/laptop-mode/conf.d/usb-autosuspend.conf

# The list of USB IDs that should not use autosuspend. Use lsusb to find out the
# IDs of your USB devices.
# Example: AUTOSUSPEND_USBID_BLACKLIST="046d:c025 0123:abcd"
AUTOSUSPEND_USBID_BLACKLIST="046d:c03d"

Semoga bermanfaat… :)

Indonesia Linux Conference 2007

ilc-banner-white.gifIndonesia Linux Conference (ILC) 2007, sebuah event besar bagi aktivis Linux/PLBOS di Indonesia akan digelar di Yogyakarta tanggal 18-24 November 2007. Mengangkat tema “Kolaborasi antara pelaku bisnis, pemerintah dan komunitas menuju Indonesia yang lebih baik.”

Sebagai warga Jogja dan pengguna Linux/PLBOS saya tak akan melewatkan event ini, bersama rekan-rekan OpenSUSE-ID akan meramaikan ILC 2007. Perwakilan OpenSUSE-ID yang akan hadir yakni Vavai, Andi Poppolz, Andre Turtlix dan saya. Rencana sebelumnya, Adinoto akan hadir namun batal. Sebenarnya saya ingin bertemu dengan calon “walikota Bandung” itu :D dalam Pesta Blogger 2007 yang lalu saya tak sempat bertemu beliau. Continue reading Indonesia Linux Conference 2007