OpenWRT ภาค 1

หลังจากได้เราเตอร์ (asus wl500g premium) มาวันศุกร์ ก็นั่งแก้จนถึงวันนี้ แต่ก็ยังไม่พอใจหรอก :lol: ว่าจะทำเว็บที่ใช้คุมเองและ เพราะที่มีอยู่ขาดไปหลายอย่าง(หน้าเว็บสำหรับสั่งดาวโหลดผ่าน http, ftp และ bittorrent :razz: ) แต่วันนี้ว่าจะจดวิธีทำทั้งหมดก่อน กันลืมภายหลัง (เหมือนวิธีแก้การ์ดจอ nvidia บน ubuntu ให้ออกสองจอ ไม่จดไว้กว่าจะแก้ให้เครื่องโค้ดเปรี้ยวได้คงนานกว่านี้ มั้ง)
เริ่มจากวิธียัด openWRT ลงไปในเร้าเตอร์ก่อน

  1. ดาวโหลด OpenWRT มาก่อนปัจจุบันก็ถึง kamikaze 7.09 หละ (ถ้าอยากได้ stable ก็โหลด white russian)
  2. เอาสายแลนเสียบเครื่องที่ดาวโหลดมาและจะใช้จับยัดลงเร้าเตอร์เข้าไปที่ช่องแลนช่องแรก เอาสายไฟเร้าเตอร์ออก(มันไม่มีปุ่มปิดหนินะ) แล้วหาปากกาหรืออะไรเล็กๆ มากดปุ่ม reset ค้างไว้ จากนั้นเสียบสายไฟเข้าไปใหม่ จนสังเกตุเห็นว่าไฟแสดงสถานะว่าเร้าเตอร์เปิดอยู่กระพริบช้าๆ ค่อยปล่อยปุ่มรีเซ็ต
  3. *รอจนกว่าจะได้ ip มาใหม่ แล้วใช้โปรแกรม asus firmware restore เปิดไฟล์ .trx ที่ดาวโหลดมา อัพโหลดไปที่เร้าเตอร์ เมื่ออัพโหลดเสร็จเร้าเตอร์จะรีสตาร์ทเอง (บางครั้งมันจะขึ้นแถบจนเต็มแล้วบอกว่าอัพเดทอยู่ แต่ถ้าเห็นไฟเร้าเตอร์ดับแล้วติดใหม่ แปลว่าอัพเดทเสร็จแล้ว)
  4. telnet เข้าไปที่ ip 192.168.1.1 จะเข้าไปได้เลยไม่ต้องใส่ username, password เข้าไปแล้วก็ควรเปลี่ยน password ซะเพื่อความปลอดภัย

* นอกจากใช้ asus firmware restore แล้วจะใช้ tftp ก็ได้ ทำตามนี้


tftp 192.168.1.1
tftp> binary
tftp> trace
tftp> put openwrt-brcm-2.4-squashfs.trx

หรือถ้าขี้เกียจอัพโหลดจากเครื่องไปยังเร้าเตอร์ และในเร้าเตอร์มีโปรแกรม mtd อยู่ก็ใช้ mtd จัดการก็ได้ โดยดาวโหลด .trx ด้วย wget ในเร้าเตอร์มาก่อน


wget http://downloads.openwrt.org/kamikaze/7.09/brcm-2.4/openwrt-brcm-2.4-squashfs.trx
mtd write openwrt-brcm-2.4-squashfs.trx linux && reboot

หลังจากยัด openWRT เสร็จต่อไปก็ถึงการตั้งค่าเบื้องต้นหละ เพื่อให้เครื่องลูกเปิดเว็บเล้นเนท ใช้ wireless ได้ก่อน

  1. secure shell หรือ telnet เข้าไปที่เร้าเตอร์ใหม่เพื่อตั้งค่า เริ่มจากดู config คร่าวๆ ก่อนด้วยคำสั่ง uci show
  2. ตั้งแลนให้สามารถเล่นเนทได้
    
    #ตั้งให้ gateway เครื่องลูกชี้มาที่เร้าเตอร์
    root@Epsilon:~#uci set network.lan.gateway=192.168.1.1
    
    #ตั้งให้ dns เครื่องลูกชี้มาที่เร้าเตอร์
    root@Epsilon:~#uci set network.lan.dns=192.168.1.1
    
    #ให้ router ติดต่อภายนอกด้วยโปรโตคอล pppoe (ที่ได้มาตอนแรกเป็น dhcp เนื่องจากต่อกับ adsl เร้าเตอร์อีกทีนึง)
    root@Epsilon:~#uci set network.wan.proto=pppoe
    root@Epsilon:~#uci set network.wan.username=[username]
    root@Epsilon:~#uci set network.wan.password=[password]
    
    #commit แล้ว reboot เร้าเตอร์ซะ หรือจะใช้ uci commit network && ifup wan ก็ได้ถ้าไม่อยาก reboot
    root@Epsilon:~#uci commit network && reboot 
  3. จากนั้นตั้งค่า wireless
    
    #SSID ของ wireless ไว้สำหรับให้เครื่องลูกบอกว่าจะต่อเข้า wireless ของเราหรือป่าว
    root@Epsilon:~#uci set wireless.cfg2.ssid=[ssid]
    
    #วิธีการเข้ารหัสข้อมูลที่ใช้ส่งโดย wireless
    root@Epsilon:~#uci set wireless.cfg2.encryption=[psk /psk2/wep/...]
    
    #share key ของวิธีการเข้ารหัสด้านบน
    root@Epsilon:~#uci set wireless.cfg2.key=[passkey]
    
    #จะให้เร้าเตอร์ประกาศ SSID ของเราให้คนอื่นรับรู้หรือป่าว
    root@Epsilon:~#uci set wireless.cfg2.hidden=[0/1]
    

โอ้เหนื่อย จริงๆ ยังมีวิธีติด package เพิ่มอีก แต่ไว้พรุ่งนี้ละกัน วันนี้ง่วงโคตรๆ เลย เพราะทำเร้าเตอร์นี่จนตีหนึ่งมาหลายวันหละ วันนี้ขอนอนเร็วหน่อยละกัน รอพรุ่งนี้ openSUSE10.3 ออกจะให้เร้าเตอร์ทำหน้าที่ให้เต็มที่ซะหน่อยหละ :lol:

อ้างอิง(วิธีทำภาคภาษาอังกฤษ): http://wiki.openwrt.org/OpenWrtDocs/Hardware/Asus/WL500GP

ปอลอ. ปลายๆ เดือนนี้ Ubuntu club มีปาร์ตี้คลับเนื่องในโอกาส Gutsy ออก อาจจะไปกินหมูกระทะหน่อยแต่ฟังบรรยายดูอีกทีแฮะ (อยากไปดู kijjaz เล่าถึงการเอาไปใช้ในงานเหมือนกันนะ แต่ขอดูเวลาอีกทีละกัน)



Comments

No comments yet.

Add Yours

  • Author Avatar

    YOU


Comment Arrow



About Author

llun

Apple addict programmer