แสดงบทความที่มีป้ายกำกับ Open-WRT openwrt Embeded Linux TL-WR703N Brother HL-2130 Wireless Print Server p910nd usb-printer-support แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Open-WRT openwrt Embeded Linux TL-WR703N Brother HL-2130 Wireless Print Server p910nd usb-printer-support แสดงบทความทั้งหมด

วันพฤหัสบดีที่ 21 กุมภาพันธ์ พ.ศ. 2556

OpenWrt Print Server โดยใช้ TP-Link TL-WR703N

วัสดีครับ วันนี้ผมขอนำเสนอโครงงานแนว Embeded Linux ซึ่งก็คือ Open-WRT ซึ่งจะนำมาทำเป็น Wireless Print Server โดยมันช่วยเพิ่มความสะดวกในการใช้เครื่อง Printer เนื่องจากไม่ต้องเชื่อม Printer เข้ากับคอมพิวเตอร์โดยตรง การเชื่อมต่อจะใช้ TL-WR703N เชื่อมกับ Printer ซึ่งผมใช้ Brother HL-2130 มานำเสนอ ในตัวของ TL-WR703N มี Wireless LAN Interface อยู่ ทำให้การเชื่อมต่อเข้าเครือข่ายไม่ต้องใช้สาย
TP-Link TL-WR703N 

Printer Brother HL-2130 ที่นำมาทดสอบเป็นเครื่องพิมพ์แบบ Laser ขาว-ดำ มีพอร์ตเชื่อมต่อแบบ USB ดังรูป
Brother HL-2130
อุปกรณ์ที่ต้องใช้มี 2 อย่างคือ
  • TP-Link TL-WR703N
  • Brother HL-2130

ในส่วนของ Software ที่ต้องใช้มีดังนี้
  • Openwrt Firmware สำหรับ TL-WR703N ผมใช้ตัวนี้ครับ Firmware
  • p910nd Printer Server software
  • usb-printer-support module
ก่อนการทดลองต้องเปลี่ยน firmware และตั้งค่า IP Address ให้กับ WiFi Interface ก่อน สามารถดูรายละเอียดได้ที่เว็บนี้ครับ
ในระหว่าการทดลองจะมีการดาวโหลด Packet มาติดตั้งเสริม ดังนั้นตัว Router ต้องสามารถเชื่อมต่ออินเตอร์เน็ตได้ด้วย

ขั้นตอนการติดตั้ง
  • ต่อสายแลนเข้ากับ Router เพื่อที่จะ Telnet หรือ SSH เข้าไปทดลอง
  • IP address ของ Router คือ 192.168.1.1
  • ทำการ Telnet เข้าไปยัง Router
  • ตั้งค่า WiFi interface โดยทำดังนี้
  • พิมพ์คำสั่ง vi /etc/config/network
  • กดปุ่ม 'i' 1 ครั้งเพื่อเข้าสู่โหมดแก้ไข
  • เพิ่ม ข้อความนี้เข้าไป 
                config interface 'wan'
                           option ifname 'wlan0'    
                           option proto 'dhcp' 
  • กด esc 1 ครั้ง แล้วพิมพ์ :wq กดปุ่ม Enter
  • พิมพ์คำสั่ง vi /etc/config/wireless
  • กดปุ่ม 'i' 1 ครั้งเพื่อเข้าสู่โหมดแก้ไข
  • เพิ่ม ข้อความนี้เข้าไป 
        config wifi-iface
              option device radio0
              option network wan
              option mode sta
              option ssid 'ชื่อของ wifi'
              option encryption psk2
              option key 'รหัสผ่าน'

  • กด esc 1 ครั้ง แล้วพิมพ์ :wq กดปุ่ม Enter
  • พิมพ์ reboot กดปุ่ม enter เราเตอร์จะรีบูตตัวเอง หลังจากเปิดตัวเองขึ้นมาใหม่ก็จะสามารถใช้งาน WiFi ได้เลย
  • เมื่อ boot เสร็จเรียบร้อยก็ให้พิมพ์คำสั่ง opkg update จะได้ผลลัพธ์


Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/barrier_breaker.


  • พิมพ์ opkg install kmod-usb-printer ผลลัพธ์จะได้เป็น
Installing kmod-usb-printer (3.7.9-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-usb-printer_3.7.9-1_ar71xx.ipk.
Configuring kmod-usb-printer.
[  257.810000] usblp 1-1:1.0: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x04F9 pid 0x003F
[  257.820000] usbcore: registered new interface driver usblp


  • พิมพ์ opkg install p910nd ผลลัพธ์จะเป็น
Installing p910nd (0.95-3) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/p910nd_0.95-3_ar71xx.ipk.
Configuring p910nd.



  • พิมพ์คำสั่งดังนี้
    • /etc/init.d/p910nd enable
    • /etc/init.d/p910nd start
  • พิมพ์คำสั่ง vi /etc/hotplug.d/usb/20-printer
  • กดปุ่ม 'i' 1 ครั้งเพื่อเข้าสู่โหมดแก้ไข
  • เพิ่ม ข้อความนี้เข้าไป 
#!bin/sh
if [ "$PRODUCT" = "4f9/3f/100" ]
then
case "$ACTION" in
        add)
        /etc/init.d/p910nd stop
        echo "`date` : Brother HL-2130 add" >> /tmp/hl-2130
        /etc/init.d/p910nd start >> /tmp/hl-2130
        echo "Done." >> /tmp/hl-2130
        ;;
        remove)
        echo "`date` : Brother HL-2130 removed" >> /tmp/hl-2130
        /etc/init.d/p910nd stop >> /tmp/hl-2130
        echo "Done." >> /tmp/hl-2130
        ;;
esac
fi



  • กด esc 1 ครั้ง แล้วพิมพ์ :wq กดปุ่ม Enter
  • ลองเสียบสาย USB ของ Printer แล้วถอดออก
  • เมื่อพิมพ์คำสั่ง  cat /tmp/hl-2130 ผลลัพธ์จะเป็น

Wed Feb 20 17:07:06 UTC 2013 : Brother HL-2130 removed
Done.
Wed Feb 20 17:07:06 UTC 2013 : Brother HL-2130 removed
Done.
Wed Feb 20 17:07:11 UTC 2013 : Brother HL-2130 add
Done.
Wed Feb 20 17:07:12 UTC 2013 : Brother HL-2130 add
Done.

  •  พิมพ์ชุดคำสั่งต่อไปนี้ลงไป
uci set p910nd.cfg1=p910nd
uci set p910nd.cfg1.device=/dev/usb/lp0
uci set p910nd.cfg1.port=0
uci set p910nd.cfg1.bidirectional=1
uci set p910nd.cfg1.enabled=1
uci commit p910nd
/etc/init.d/p910nd restart

  •  พิมพ์ vi /etc/config/firewall 
  • กดปุ่ม 'i' 1 ครั้งเพื่อเข้าสู่โหมดแก้ไข
  • เพิ่ม ข้อความนี้เข้าไป 
    #Open Port For Network Printer
    config 'rule'
            option 'src' 'lan'
            option 'proto' 'tcp'
            option 'desc_port' '9100'
            option 'target' 'ACCEPT'
    config 'rule'
            option 'src' 'wan'
            option 'proto' 'tcp'
            option 'desc_port' '9100'
            option 'target' 'ACCEPT'

    • กด esc 1 ครั้ง แล้วพิมพ์ :wq กดปุ่ม Enter
    • พิมพ์ reboot เพื่อรีบูตตัวเอง
    หลังจากทำการตั้งค่าฝั่ง Server เสร็จก็สามารถใช้งาน Print-Server ได้ โดยมีขั้นตอนดังนี้


    ขั้นตอนการ Add Printer 

    ในที่นี้จะแสดงตัวอย่างของ Windows 8 ซึ่งสามารถนำไปประยุกต์ใช้กับ  Windows รุ่นอื่นๆ ได้เช่นกัน โดยขั้นตอนมีดังนี้

    • เข้าไปยัง Devices and Printers ที่อยู่ใน Control Panel



    • กดที่ Add a Printer





    • คลิกที่ The printer that I want isn't listed



    • คลิกตัวเลือกล่างสุด แล้วคลิก Next




    • คลิกตัวเลือกล่างและตั้งค่าเป็น Standard TCP/IP Port แล้วคลิก Next



    • ที่ช่อง Hostname ให้ใส่หมายเลขไอพี Wireless ของ Router ช่อง Port name ใส่เป็นอะไรก็ได้ ส่วนที่ check box ให้ติ๊กออกแล้วคลิก Next


    • จะพบกับหน้า Detecting TCP/IP port ให้รอจนมันเปลี่ยนเป็นหน้าถัดไป



    • เมื่อเข้าสู้หน้า addination port information required ให้เลือก Custom แล้วคลิก Settings



    • จะปรากฎหน้าตั้งค่า คลิก OK แล้วคลิก Next

    • เลือก Driver ให้ตรงรุ่นกับ Printer แล้วคลิก Next
    • คลิก Next
    • ตั้งชื่อเครื่องพิมพ์แล้วคลิก Next
    • คลิก Next
    • คลิก Finish
    • จะปรากฎเครื่องพิมพ์รูปขวาสุด สามารถสั่งงานได้แบบปกติ

    แหล่งข้อมูล


    แหล่ง Firmware