debian: ติดตั้งโมเด็ม Aztech UM-9800

ติดตั้งโมเด็ม Aztech UM-9800
โมเด็มตัวนี้ใช้ชิปเซ็ตของ SmartLink (sl-modem) โมเด็มตัวอื่นที่ใช้ชิปเซ็ตเดียวกันก็สามารถใช้วิธีเดียวกันได้ครับ
สมัยก่อนไดรฟเวอร์ตัวนี้มีปัญหามาก ว่าติดตั้งแล้วมักจะมีปัญหากับเคอร์เนล ไม่ว่าจะเลือกใช้ไดรฟเวอร์ของโมเด็มเองหรือของที่เขาเขียนสำหรับลินุกซ์โดยเฉพาะก็ตาม
แต่ปัจจุบันมีแพกเกจ module-assistant ทำให้การติดตั้งง่ายขึ้นมาก

กับ Etch ผมทดสอบกับเคอร์เนล 2.6.17 ไม่ผ่าน แต่กับเคอร์เนลปัจจุบันคือ 2.6.18 ผ่านเรียบร้อยครับ

เริ่มด้วยติดตั้งแพกเกจ module-assistant
# aptitude install module-assistant

เรียกใช้ module-assistant ให้ติดตั้งโมดูล sl-modem โดยอัตโนมัติ
# m-a a-i sl-modem

เนื่องจากโมเด็มตัวนี้ไม่ใช่โมเด็มจริง ๆ (เป็นคล้าย ๆ WinModem) จึงต้องมีโปรแกรมทำงานเบื้องหลังเป็น daemon อีกทีนึง เราจึงต้องติดตั้งแพกเกจตัวนี้ด้วย
# aptitude install sl-modem-daemon

ปรับแต่ง - อาจไม่จำเป็นก็ได้
เมื่อเริ่มต้นรัน sl-modem-daemon โปรแกรมจะทำการตรวจสอบโดยอัตโนมัติว่า ฮาร์ดแวร์ของเราเป็น pci หรือ usb
ถ้าเป็น pci โปรแกรมจะเลือกใช้เคอร์เนลโมดูล slamr
ถ้าเป็น usb โปรแกรมจะเลือกใช้เคอร์เนลโมดูล slusb
ฮาร์ดแวร์ของเราเป็น usb เวลาโปรแกรมตรวจสอบอัตโนมัติ เขาจะขึ้นมารายงานผลว่าไม่สามารถแทรกโมดูล slamr ได้ ทำให้รำคาญพอควร
ผมเลยเลือกที่จะไม่ให้เขาตรวจสอบอัตโนมัติ แต่จะระบุไปเลยว่าของเราต้องใช้เคอร์เนลโมดูล slusb
# vi /etc/default/sl-modem-daemon

...
#SLMODEMD_DEVICE=auto
SLMODEMD_DEVICE=slusb0
SLMODEMD_COUNTRY=THAILAND
...

สั่งเริ่มรัน daemon ใหม่
# /etc/init.d/sl-modem-daemon restart

ถ้าไม่มีอะไรผิดพลาด จะเกิดดีไวซ์ /dev/ttySL0 ขึ้น เราสามารถเรียกใช้โมเด็มได้จากลิงก์นี้ครับ

เสร็จแล้วครับ :)

ข้อมูลเพิ่มเติม

  • 51-12-09 บนเดเบียน lenny เคอร์เนลรุ่น 2.6.26-1-486 แพกเกจรุ่น 2.9.9d+e-pre2-12+2 : ติดตั้งผ่าน แต่ใช้งานแฟกซ์ไม่ได้ dmesg ขึ้น error ว่า EIP is at down+0x19/0x39

debian: ติดตั้ง slmodem จากซอร์ส

จากครั้งก่อน หลังจากติดตั้งเสร็จแล้ว ผมได้ลองอัปเกรดโดยใช้คำสั่ง aptitude dist-upgrade
ปรากฎว่าโมดูล sl-modem ไม่ทำงาน (ไม่รายงานข้อผิดพลาด แต่ไม่ทำงาน)
เลยทดลองถอดออกและติดตั้งจากซอร์สใหม่
ขั้นตอนมีดังนี้

ถอดโมดูลเก่าก่อน
# dpkg -r sl-modem-modules-2.6.18-3-k7

ถอดแพกเกจ sl-modem-daemon ด้วย
# aptitude purge sl-modem-daemon

ดาวน์โหลดซอร์สจาก linmodem - Smartlink ผมเลือกตัวใหม่สุด รวมทั้งต้องดาวน์โหลดซอร์สของ ungrab-winmodem ด้วย
# cd /usr/src
# wget http://linmodems.technion.ac.il/packages/smartlink/ungrab-winmodem.tar.gz
# tar xfz ungrab-winmodem.tar.gz
# cd ungrab-winmodem
# make && make install
# cd ..
# wget http://linmodems.technion.ac.il/packages/smartlink/slmodem-2.9.11-20061021.tar.gz
# tar xfz slmodem-2.9.11-20061021.tar.gz
# cd slmodem-2.9.11-20061021
# make && make install
# mknod -m 600 /dev/slamr0 c 242 0
# mknod -m 600 /dev/slusb0 c 243 0
# modprobe ungrab-winmodem
# modprobe slusb

ปรับ inittab
# vi /etc/iniitab

...
S3:2345:once:/bin/mknod -m 600 /dev/slusb0  c 243 0 && /sbin/modprobe/ungrab-winmodem && /sbin/modprobe slusb
S4:2345:respawn:/usr/sbin/slmodemd -d1 --country=THAILAND /dev/slusb0
...

สั่ง init ใหม่
# init q

ใช้งานได้แล้ว

ข้อมูลปรับปรุง

  • 51-12-09 บนเดเบียน lenny เคอร์เนล 2.6.26 ไม่ยอมให้คอมไพล์มอดูล slusb ซึ่งไม่ได้เป็น GPL ดังนั้น ตั้งแต่เคอร์เนล 2.6.26 เป็นต้นไป จะไม่สามารถใช้งาน slusb ได้แล้ว