Friday, October 12th, 2007

จากสองตอนที่แล้วทำจนสามารถใช้เป็นเร้าเตอร์ทั่วไปและพริ้นท์เซอร์เวอร์ได้แล้ว วันนี้ก็จะมาต่อเรื่อง webif หละตัวที่เลือกใช้ก็คือ X-Wrt เนื่องจากมีส่วนควบคุมพื้นฐานให้ครบ (แม้ว่าบางอย่างจะใช้ไม่ได้ก็ตาม เช่น dns masq หรือทำได้ก็ขึ้นข้อความแปลกๆ) และก็เป็นเจ้าเดียวที่มีด้วย :lol: แต่ถ้าดูแล้วไม่ชอบก็มีอีกทางคือใช้ dd-wrt ที่มี web interface สวยงามให้ใช้และมีฐานจาก WhiteRussian แต่ถ้ายังไม่ชอบอีกก็สามารถเขียนได้เอง โดยใช้ภาษา awk กับ awx
เอาหละมาดูขั้นตอนการติดตั้ง X-Wrt สำหรับ Kamikaze ดีกว่า

  1. เริ่มจากติด haserl ก่อนด้วยคำสั่ง

    root@Epsilon:~# ipkg install http://downloads.x-wrt.org/xwrt/kamikaze/7.09/brcm-2.4/packages/haserl_0.8.0-1_mipsel.ipk
  2. แล้วตามด้วย webif^2

    root@Epsilon:~# ipkg install http://downloads.x-wrt.org/xwrt/kamikaze/7.09/brcm-2.4/webif_latest.ipk

จากนั้น webif จะเพิ่ม repository ของ ipkg และอัพเดทให้เอง

อ้างอิง:
http://wiki.x-wrt.org/index.php/Kamikaze_Installation

สำหรับตอนนี้ขอเขียนสั้นๆ ซะหน่อยเพราะตอนนี้ก็เขียนไปทดลองไปด้วย ว่า package อะไรน่าใช้และทำอะไรได้บ้าง ที่เล็งๆ ไว้ก็คือ dynamic dns แต่เท่าที่ทำมามันไม่เห็นอัพเดทให้เลย แต่ที่ทำคือตั้งจากเว็บ สงสัยจะเป็นบั๊กแฮะ เดี๊ยวคงต้องเขียน cron ให้มันอัพเดทเอง เง้อ อีกเรื่องคือตอนนี้ hdd มันไม่นิ่ง เขียนไฟล์ใหญ่ๆ แล้วดัับ คิดว่าเป็นที่สายแปลง sata-usb ไว้เดือนหน้าคงต้องซื้อใหม่(อีกแล้ว) คราวนี้ก็เลยจะซื้อ hdd ใหญ่ๆ ไปด้วยเลย(เล็งไว้ที่ 320 GB เพราะตัว 100 GB ที่ซื้อมาตอนนี้ก็เกือบจะเต็มไปแล้ว แหะๆ)
ตอนหน้า ก็คงจะพูดถึง hdd ต่อหละเกี่ยวกับการทำ auto mount ตอน boot และก็ swap!!! แล้วก็ตอนต่อๆ ไปก็คงเป็นพวก dns php … อ่า อีกเยอะแฮะ ดังนั้นมันจะจบตอนที่เท่าไหร่ก็คงต้องดูกันต่อไป :lol:

Thursday, October 4th, 2007

เมื่อวานทิ้งไว้ถึงตอนที่ลง os โล่งๆ กับการตั้งค่าให้เครื่องลูกเล่นเนทได้ วันนี้เลยจะเขียนต่อ เกี่ยวกับการติด package พื้นฐานบางอย่างให้ใช้ usb ได้ เพราะจุดเด่นที่ทำให้เลือกซื้อเร้าเตอร์ตัวนี้ก็เพราะ usb ที่มีมาให้ถึง 2 ช่อง แล้วก็ใช้ทั้งสองช่องนั้นซะด้วยสิ ช่องนึงต่อ printer usb อีกช่องต่อ hdd มาดูขั้นตอนดีกว่า
วิธีติด package เกี่ยวกับ usb

  1. เริ่มแรกก็ต้องเอารายชื่อ package มาก่อนคล้ายๆ debian แต่ใช้คำสั่ง
    root@Epsilon:~#ipkg update
    แทนที่จะเป็น apt-get
  2. ติด package ที่เกี่ยวกับ usb ตามนี้
    root@Epsilon:~#ipkg install kmod-usb2 kmod-usb-core kmod-usb-storage kmod-usb-printer
    2 package แรกไว้สำหรับให้รู้จัก usb ส่วนสอง package หลังเพื่อให้ต่อกับ hdd และ printer ได้
  3. ติด package filesystem สำหรับ usb storage
    root@Epsilon:~#ipkg install kmod-fs-ext3
    ขั้นนี้แล้วแต่ hdd ที่ใช้ว่า format โดยใช้ filesystem ไหนถ้าใช้ fat จาก windows ก็ติด kmod-fs-vfat แต่ใช้อยู่เป็น ext3 เพราะว่าจะเอาไว้ติด package อื่นที่ hdd นี้ด้วยภายหลัง แล้วจะได้สามารถสร้าง link ได้

package หลักๆ เกี่ยวกับ usb ก็มีเท่านี้แหละ ต่อไปก็ติด package เสริมที่ทำให้ใช้งาน printer ได้

  1. ติด printer deamon ก่อน
    root@Epsilon:~#ipkg install p910nd
  2. config ค่าให้กับ deamon เพื่อให้เครื่องลูกสั่งพิมพ์ได้ (printer บางรุ่นอาจจะไม่ต้องตั้งก็ได้แต่ canon ip4200 ที่ใช้อยู่ต้องแฮะ)
    1. เริ่มจากดู config ก่อนว่ามีอะไรบ้าง
      root@Epsilon:~#uci show p910nd
      จะได้อะไรออกมาหน้าตาคล้ายๆ ด้านล่าง

      
      p910nd.cfg1=p910nd
      p910nd.cfg1.device=/dev/usb/lp0
      p910nd.cfg1.port=0
      p910nd.cfg1.bidirectional=1
      
    2. สิ่งที่ต้องแก้สำหรับ ip4200 คือ bidirectional ต้องปิดมันซะ ด้วยคำสั่งด้านล่าง
      uci set p910nd.cfg1.bidirectional=0
    3. สั่ง commit แล้ว restart deamon ใหม่ก็เรียบร้อย
      uci commit p910nd && /etc/init.d/p910nd restart
  3. หลังจาก config ที่ฝั่งเร้าเตอร์เสร็จก็ต้องมาทำที่เครื่องลูกบ้าง เอาเครื่อง windows เป็นตัวอย่างละกัน
    1. เริ่มจากไปเพิ่ม printer แล้วเลือก port เป็น standard tcp/ip
    2. ใส่ ip ของเร้าเตอร์ลงไป จากนั้นเลือก customize
    3. เลือก type เป็น raw แล้วใส่ port ไปเป็น 9100+port ใน config ด้านบน
    4. ใส่ driver ของ printer ให้ตรงกับที่มีอยู่ ก็เสร็จพิธี

หมดจากเรื่องปวดหัวเกี่ยวกับ printer ก็มาดูที่ hdd ต่อบ้างเนื่องจากต้องการเอาโปรแกรมบางส่วนมาติดที่ hdd เลยต้องแก้ไข config ของ ipkg นิดหน่อย โดยของเดิมจะมีหน้าตาประมาณนี้


src release http://downloads.openwrt.org/kamikaze/7.09/brcm-2.4/packages
src packages http://downloads.openwrt.org/kamikaze/packages/mipsel
dest root /
dest ram /tmp

ใช้ vi หรือ editor อะไรก็ได้ตามสะดวกเพิ่มบรรทัดนี้เข้าไป
dest opt /opt/
โดย /opt เป็น path ที่ mount hdd ไว้อยู่ จากนั้นเวลาจะติด package อะไรเพิ่มเติมก็เพียงแต่สั่งว่า
ipkg -d opt install [package]
มันก็จะไปติดให้ที่ /opt หละ

โอยยาวเหลือเกินยังเหลือเรื่องการทำให้โปรแกรมต่างๆ ที่ติดให้ทำงานอัตโนมัติตอนเริ่มต้น การสั่งให้ hdd สามารถใช้ได้เลยตอนเริ่มต้น และก็ webif^2 ที่เป็น web interface ของ openWRT ก็ไว้พรุ่งนี้อีกละกัน :eek: เนื่องจากง่วงแล้วอ่ะ เดี๊ยววันนี้จะเปิดดาวโหลด openSUSE10.3 ลองซะหน่อยด้วยเลย :razz:

อ้างอิง:

Wednesday, October 3rd, 2007

หลังจากได้เราเตอร์ (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 เล่าถึงการเอาไปใช้ในงานเหมือนกันนะ แต่ขอดูเวลาอีกทีละกัน)