เมาท์เมโมรีสติ๊กบน Sony Clie T-665C

รอมานานแสนนานกว่าจะหาวิธีคอนฟิกให้เมาท์ memory stick ของ Clie PEG T-665C และ Clie รุ่นหลังๆ ได้ .. ปัญหาติดอยู่ที่ไดรเวอร์ USB Storage ในเคอร์เนล ดังนั้นงานนี้จะต้องแก้ซอร์สของเคอร์เนลและต้อง recompile เคอร์เนลกันใหม่

ไฟล์ที่ต้องแก้คือ /usr/src/linux/drivers/usb/storage/transport.c .. ในไฟล์นี้ ให้เปลี่ยน

   /* was this a command-completion interrupt? */
 if (us->irqbuf[0] && (us->subclass != US_SC_UFI)) {
   US_DEBUGP("-- not a command-completion IRQ");
   return;
 }

เป็น

 us->irqbuf[0] = 0;

แก้เสร็จก็ recompile เคอร์เนล

เสร็จแล้วก็มาทดสอบกัน .. ต่อ Clie เข้ากับพอร์ต USB เรียกโปรแกรม MS Import บน Clie .. ลอง lsmod ดูน่าจะเห็นบรรทัด usb-storage (ถ้าไม่ขึ้นลอง modprobe usb-storage) .. /var/log/messages ควรจะมีข้อความประมาณนี้ :

[[email protected] root]# tail /var/log/messages
Apr 11 15:37:01 admin kernel: hub.c: USB new device connect on bus1/2, assigned device number 2
Apr 11 15:37:01 admin kernel: usb.c: USB device 2 (vend/prod 0x54c/0x99) is not claimed by any active driver.
Apr 11 15:37:04 admin /etc/hotplug/usb.agent: Setup usb-storage for USB product 54c/99/100
Apr 11 15:37:04 admin kernel: Initializing USB Mass Storage driver...
Apr 11 15:37:04 admin kernel: usb.c: registered new driver usb-storage
Apr 11 15:37:04 admin kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Apr 11 15:37:04 admin kernel:   Vendor: Sony      Model: CLIE MGMS         Rev: 1.00
Apr 11 15:37:04 admin kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Apr 11 15:37:04 admin kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Apr 11 15:37:04 admin kernel: usb-uhci.c: interrupt, status 3, frame# 24
Apr 11 15:37:04 admin kernel: SCSI device sda: 126848 512-byte hdwr sectors (65 MB)
Apr 11 15:37:04 admin kernel: sda: Write Protect is off
Apr 11 15:37:04 admin kernel:  sda: sda1
Apr 11 15:37:04 admin kernel: USB Mass Storage support registered.

หรือจะดูที่ /proc/scsi/scsi ก็ได้

[[email protected] root]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: Sony     Model: CLIE MGMS        Rev: 1.00
  Type:   Direct-Access                    ANSI SCSI revision: 02

ทีนี้ก็ลองเมาท์กันเลย

mount -t vfat /dev/sda1 /mnt

เท่านี้ก็เรียบร้อย .. เมื่อเลิกใช้ให้สั่ง

umount
rmmod usb-storage

แล้วค่อยกดปุ่ม disconnect ที่ MS Import .. ฮุๆๆ ได้อย่างนี้แล้วก็โหลด mp3 ไปฟังล่ะคร้าบบบ :D