ติดตั้งโมเด็ม Zyxel Prestige 630-11

Zyxel Prestige 630-11 เป็นโมเด็มรุ่นบุกเบิกของยุค adsl รุ่นแรก ๆ เดี๋ยวนี้หลายท่านคงหันมาใช้เราเตอร์กันหมดแล้ว (ผมขออนุญาตบันทึกไว้หน่อยนะครับ เพราะโมเด็มของผมเริ่มรวนเรมากแล้ว เดี๋ยวไม่มีโมเด็มจริงในการทดสอบ)

การใช้โมเด็มแบบ usb มีข้อดีเหนือการใช้ผ่านเราเตอร์ตรงที่ว่า ถ้าเราทำเว็บไซต์เองหรืองานอื่นที่ต้องติดต่อกับเครือข่ายภายนอก เราสามารถควบคุมเครื่องเราได้เต็มร้อย ไม่เหมือนการใช้งานผ่านเราเตอร์ที่ต้องทำแบบอ้อม ๆ หรือต้องใช้การแฮ็กเฟิร์มแวร์ของเราเตอร์ แต่ข้อเสียคือหาไดรเวอร์ยาก

ทดสอบกับเดเบียน Etch ครับ โดยเราจะใช้แพกเกจของ amedyn2

ปกติการติดตั้งไดรเวอร์ตัวนี้สำหรับเคอร์เนลในยุคก่อนหน้า Etch จะต้องคอมไพล์เคอร์เนลเอง แต่พอมาถึง Etch ซึ่งใช้เคอร์เนลรุ่น 2.6.18 พบว่า ค่าที่เราต้องปรับตั้งสำหรับการคอมไพล์เคอร์เนลเองนั้น ถูกปรับตั้งมาให้เรียบร้อยแล้ว ดังนั้นจึงไม่จำเป็นต้องคอมไพล์เคอร์เนลเองอีกต่อไป แต่เผื่อใครจะคอมไพล์เอง ก็จะบันทึกการปรับตั้งค่าของเคอร์เนลไว้เล็กน้อยครับ

*** ส่วนนี้ไม่จำเป็นสำหรับท่านที่ไม่ได้คอมไพล์เคอร์เนลเอง ***

*** สำหรับท่านที่ต้องการคอมไพล์เคอร์เนลเอง สามารถดูวิธีการที่ถูกต้องได้ที่ คอมไพล์เคอร์เนลสไตล์เดเบียน ***

คอมไพล์เคอร์เนล

# aptitude install kernel-package ncurses-dev fakeroot wget bzip2 \
module-init-tools
# aptitude install linux-source-2.6.18
# cd /usr/src
# tar xjf linux-source-2.6.18.tar.bz2
# cd linux-source-2.6.18
# make menuconfig
Code maturity level options  --->
    [*] Prompt for development and/or incomplete code/drivers 
Loadable module support  --->
    [*] Enable loadable module support
    [*]   Module unloading
Networking  --->
    Networking options  --->
        <M> Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
        <M>   RFC1483/2684 Bridged protocols
Device Drivers  --->
    Network device support  ---> 
        <M> PPP (point-to-point protocol) support
            <M>   PPP support for async serial ports
            <M>   PPP support for sync tty ports
            <M>   PPP Deflate compression
    USB support  --->
            <M> Support for Host-side USB
            [*]   USB device filesystem
            <M>   EHCI HCD (USB 2.0) support
            <M>   OHCI HCD support
            <M>   UHCI HCD (most Intel and VIA) support
Library routines  ---> 
     <M> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check
# make-kpkg --initrd kernel_image
# dpkg -i ../linux-image-2.6.18_2.6.18-10.00.Custom_i386.deb
# shutdown -r now

*** จบส่วนคอมไพล์เคอร์เนล ***

ส่วนของไดรเวอร์ amedyn2

ก่อนอื่นต้องนำไฟล์ที่เป็นไดรเวอร์ของวินโดวส์มาใส่ไว้ในไดเรกทอรี่ /lib/firmware ก่อน คือไฟล์ Init-usb.bin และไฟล์ Fw-usb.bin สมมุติว่าได้เมานท์ไดเรกทอรีของวินโดวส์ไว้ที่ /media/win

# cp /media/win/windows/system/Init-usb.bin /lib/firmware
# cp /media/win/windows/system/Fw-usb.bin /lib/firmware

เตรียมแพกเกจก่อนการคอมไพล์ไดรเวอร์

# aptitude install br2684ctl atm-tools ppp pppoe pppoeconf pppstatus \
libpcap-dev libpcap0.8 libusb-0.1-4 libusb-dev libatm1 libatm1-dev

ไปที่ไดเรกทอรีของการคอมไพล์

# cd /usr/src

เอาไฟล์ไดรเวอร์ amedyn2 จาก cvs

# cvs \
-d:pserver:anonymous@zyxel630-11.cvs.sourceforge.net:/cvsroot/zyxel630-11 \
login
CVS password:  <<<---  {Enter}
# cvs -z3 \
-d:pserver:anonymous@zyxel630-11.cvs.sourceforge.net:/cvsroot/zyxel630-11 \
co -P amedyn2

*** หรือเอาจาก cvs snapshot ***

# wget http://zyxel630-11.sourceforge.net/amedyn2-last.tar.gz
# tar xfz amedyn2-last.tar.gz

***

คอมไพล์ไดรเวอร์

# cd amedyn2
# make
# make install
# make add_service

ปรับตั้งค่าที่ไฟล์ /etc/amedyn

# vi /etc/amedyn

สมมุติว่าใช้ของทรู ตั้งเป็นแบบ PPPoE โดยใช้ค่า VPI=0 VCI=100

...
LINE_TYPE=0x15
PROTOCOL_MODE=4
VPI=0    # ของ true
VCI=100  # ของ true
...

สั่งรัน amstart.sh 1 ครั้ง เพื่อให้เกิด interface nas0

# amstart.sh

ตอนนี้ยังไม่สามารถใช้งานอินเทอร์เนตได้ ยังต้องปรับตั้ง pppoe อีกครั้ง

# pppoeconf
 INTERFACE <<<--- nas0
 POPULAR OPTIONS <<<--- Yes
 ENTER USERNAME <<<---  ใส่ค่า username ของทรู
 ENTER PASSWORD <<<---  ใส่ค่า password ของทรู
 USE PEER DNS <<<--- Yes
 LIMITED MSS PROBLEM <<<--- Yes
 START AT BOOT TIME <<<--- Yes
 ESTABLISH A CONNECTION <<<--- Yes

ถ้าไม่มีอะไรผิดพลาด ไดรเวอร์จะติดต่ออินเทอร์เน็ตให้โดยอัตโนมัติ ตั้งแต่ตอนนี้เป็นต้นไป และจะ reconnect ให้เมื่อสายหลุด และตอนเปิดเครื่องทุกครั้ง

*** เพิ่มเติม ***

สั่งหยุดบริการ

# /etc/init.d/amedyn stop

สั่งให้บริการ (คำสั่งนี้ไม่จำเป็น เพราะ connect อัตโนมัติอยู่แล้ว)

# /etc/init.d/amedyn start

ปิดการ debug

ไดรเวอร์ตัวนี้ จะเปิดการ debug มาให้โดยอัตโนมัติ ทำให้มีการส่งข้อมูล debug ไปที่ syslog ทุก 20 วินาที (ไม่แน่ใจ) ถ้าทดสอบเรียบร้อยดีแล้ว ควรปิด debug เสีย โดยการ compile module ใหม่ ดังนี้

# cd /usr/src/amedyn2/module
# make clean
# make nodebug
# make install
# /etc/init.d/amedyn restart

จบแล้วครับ

อ้างอิง
ThaiLinuxCafe - debian : Zyxel Prestige 630-11

Comments

ช่วยอธิบายหน่อยครับว่า Init-usb.bin กับ Fw-usb.bin มาจากไหนพอดี download zyxel windows driver มาแล้วหาดูภายใน folder ก็ไม่มีพวกนี้ชื่อนี้ ไม่มี Init-usb.bin แล้วก็มีแต่ชื่อ Fw-usb(A/B).bin ไม่ทราบว่าต้อง install ใน windows ก่อนหรือเปล่าเพื่อให้ได้สองไฟล์ที่กล่าวถึงเพราะผมไม่มี partition ของ windows เลย ถ้าเป็นไปได้ช่วยส่งมากับ e-mail ให้หน่อยนะครับ ขอบคุณครับ

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้