Quantcast
Channel: Raspberry Pi Thailand » Troubleshoot
Viewing all 11 articles
Browse latest View live

ปัญหา unable to resolve host address

$
0
0

ถ้าเราพยายาม download แล้วไม่สำเร็จ มีข้อผิดพลาดว่า unable to resolve host address แต่บาง website ไม่มีปัญหา อาจเกิดจาก IPv6

อาจแก้ได้ โดยระบุให้โปรแกรมที่ทำงาน download ให้ใช้ IPv4 เท่านั้น

เช่นถ้าใช้ wget เพิ่ม -4 เพื่อระบุว่าให้ใช้ IPv6 เท่านั้น ตัวอย่าง

wget rubygems.org -4

 

อีกวิธีหนึ่งที่ใช้แก้ปัญหาเฉพาะหน้าได้คือ แก้ไข /etc/hosts ระบุ IPv4 ให้กับ domain name ไปเลย


ปัญหา keyboard กดแล้วไม่ได้อักษรตรงตามที่กด

$
0
0

บางท่านอาจเจอปัญหากดปุ่มแล้วตัวอักษรที่ออกมามันไม่เป็นไปตามแป้นที่กดนัครีบ โดยเฉพาะกด @ (กด shift 2) แล้วเป็น ” ที่เจอบ่อยๆ ก็คือ layout ที่ตั้งค่า config ไว้ มันไม่เป็นแบบ American เหมือนกับ keyboard ที่เราเอามาต่อ แต่ตั้งค่าเป็นแบบ British (Raspberry Pi มาจากสหราชอาณาจักร อาจถูกตั้งค่าเริ่มต้นเป็นแบบประเทศบ้านเกิด) หรือแบบอื่่น แก้ไขให้เป็นแบบ American ครับ

ภาพจาก Wikimedia จะเห็นว่าแบบ British ปุ่มไม่ตรงกับ keyboard ที่เราใช้ๆ กัน

การกำหนดว่าเราจะใช้ layout แบบไหน สำหรับ Raspbian อยู่ที่ไฟล์ /etc/default/keyboard แก้ตรง XKBLAYOUT ให้เป็น us ครับ สำหรับของผมไฟล์ดังกล่าวเป็นไปตามข้างล่าง กดปุ่มไหนได้อักษรนั้น ใช้ Keyboard Dell Computer Corp. ID 413c:2003 (เมื่อทำคำสั่ง lsusb) ครับ อันที่จริงใน Raspi-config มีให้ตั้งค่าเกี่ยวกับ configure_keyboard เหมือนกัน ของผมเลือก Generic 105-key (Intl) PC ตามด้วย Thai ครับ

 

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL=”pc105″
XKBLAYOUT=”us,th”
XKBVARIANT=”,”
XKBOPTIONS=”grp:alt_shift_toggle,terminate:ctrl_alt_bksp,grp_led:scroll”

BACKSPACE=”guess”

สำหรับคู่มือประจำเครื่อง ใช้คำสั่ง

man keyboard 5

เพื่อดูว่าแก้ไขอะไรได้บ้างครับ

ที่มา http://elinux.org/R-Pi_Troubleshooting#Re-mapping_the_keyboard_with_Debian_Squeeze

เมื่อเจอปัญหา Entering kdb Due to Keyboard Entry

$
0
0

raspberry-pi-no-init-found-kdb-due-to-keyboard-entry

เมื่อเจอปัญหาตอนบูตว่า entering kdb (current=0x…., pid 1) due to Keyboard entry และใช้งานต่อไม่ได้ และถ้าสังเกตบรรทัดก่อนหน้านั้น จะเจอคำว่า Kernel panic  – not syncing: no init found. อาจเป็นไปได้ว่ามีปัญหาที่ file system บน SD card ซึ่งอาจแก้ไขได้โดย scan disk หรือ fsck โดย partition ที่เป็น FAT32 อาจใช้ Windows แก้ได้ แต่สำหรับ partition ที่เป็น ext4 อาจต้องทำที่ Linux

Raspberry Pi สีแดงจากจีน อาจต้องใช้ firmware ใหม่

$
0
0

ไปเจอว่า Raspberry Pi สีแดงทำในจีน อาจมีปัญหากับ firmware (ไฟล์ใน /boot) แบบเก่าที่ไม่ได้รองรับการใช้งานแรม Hynix และ Nanya DDR2 แบบที่ Raspberry Pi สีแดง ใช้ โดย Raspberry Pi แบบเดิมใช้แรมจากซัมซุง

ถ้าเป็น Raspbian , Arch Linux ARM ตั้งแต่ 11 กุมภาพันธ์ 2013 หรือ RISC OS RC7 ตัวล่าสุด ได้ปรับปรุง firmware ให้เข้ากับแรมของ Hynix และ Nanya แล้วครับ แต่ถ้าเป็นระบบปฏิบัติการตัวอื่นๆ หรือ XBMC อาจต้องใช้ firmware ใหม่ ทำได้โดยเอาไฟล์ bootcode.bin, fixup.dat และ start.elf ของใหม่ ไปแทนที่ของเก่าครับ ไฟล์หาได้จาก link ที่มาครับ หรือใน github ของ Raspberry Pi ก็น่าจะได้

ที่มา http://www.geek-workshop.com/thread-3509-1-1.html (แปล)

ต่อ SD Card เพิ่มให้ Raspberry Pi และทดลองซ่อมมันด้วย fsck

$
0
0

ถ้าอยากให้ Raspberry Pi อ่าน SD card ได้อีก ก็หา SD card reader แบบ USB ซื้อจากร้านสะดวกซื้อแบบราคาไม่แพงมาใช้ก็ได้ครับ

cheap-usb-card-reader-connected-raspberry-pi

 

lsusb ดูก่อน ว่าเห็นไหม ก็เห็นชื่อ Super Top ครับ แล้ว bar code สินค้า card reader นี้คือ 8854949006119 ครับ

raspberry-pi-cr001-lsusb-card-reader

 

เมื่อเสียบ SD card เข้าไป บน Raspbian เมื่อใช้คำสั่ง mount ก็เจอเลยครับ มัน mount ให้อัตโนมัติ มาในชื่อ /dev/sda1 และ /dev/sda2 อยู่ภายใต้ /mount

raspberry-pi-cr002-mount

 

เมื่อต่อแล้วก็ทำอะไรได้หลายอย่าง เช่น เพิ่มที่เก็บข้อมูล หรือใช้ซ่อม SD card ตัวอื่น ซึ่งต้องใช้ระบบปฏิบัติการที่ซ่อม SD card ที่ระบบไฟล์เป็น ext4 ใช้ Windows คงไม่ได้ ก็ต้องใช้เครื่องคอมพิวเตอร์ที่ติดตั้ง Linux หรือบูตจากแผ่น LiveDistro โดยไม่ต้องติดตั้ง Linux ลง hard disk หรือใช้ Linux ที่ใช้กันอยู่แล้ว คือ Raspbian นั้นเองครับ

การตรวจสอบและซ่อมแซมระบบไฟล์ของ SD card ก็ทำ fsck ครับ หน้าที่ของมันคล้ายๆ scandisk แต่ต้อง unmount พาร์ติชันที่จะซ่อมก่อนด้วยคำสั่ง sudo umount /dev/sda2 จากนั้นก็ดูก่อนว่า fsck จะทำอะไรด้วยคำสั่ง sudo fsck /dev/sda2 -N แล้วจึงสั่งซ่อมลงมือจริงด้วยคำสั่ง sudo fsck /dev/sda2 -y โดย -y หมายถึงตอบ yes ซ่อมเลยทุกอาการที่เจอครับ

raspberry-pi-cr004-fsck-clean

 

ถ้า fsck กับ SD card ที่มีปัญหา ถึงขั้นที่ว่า ext3 พัง กลายเป็น ext2 ไปเลย

raspberry-pi-cr005-fsck-error

ข้อควรระวังเกี่ยวกับ Audio Jack ที่อาจมีไฟฟ้ากระแสตรงรั่วออกมา

$
0
0

ไปอ่านจาก elinux.org ได้ความว่า วงจรมีจุดอ่อนคือตัวเก็บประจุที่ทำหน้าที่ coupling คือป้องกันไฟฟ้ากระแสตรงไหลออกมาทางช่องหูฟัง (audio jack) มาอยู่ก่อน diode สองตัวที่ทำหน้าที่กันไฟกระชาก (surge) ซึ่งจริงๆ มันควรไปอยู่หลัง (คือเป็นตัวสุดท้ายท้ายสุดก่อนสัญญาณเสียงจะออกไปหูฟัง) ทำให้มันอาจทำหน้าที่ rectify แล้วได้ไฟฟ้ากระแสตรงไหลออกมา ลองไปไล่ดูที่วงจร (อยู่ที่หน้า 2 ขวาล่าง) ก็พบว่าเป็นอย่างนั้นจริงๆ ด้วยครับ คือต่อออกมาจากชิป ออกไปยังวงจรกรองความถี่ต่ำผ่าน (LPF) ตามด้วยตัวเก็บประจุที่ทำหน้าที่ coupling แล้วตามด้วย diode สองตัวที่จะเบี่ยงไฟกระชากไปที่อื่น

ทดลองเองด้วยการวัดแรงดันไฟฟ้าที่ช่องหูฟัง โดยเสียบไฟเลี้ยงแต่ไม่เสียบ SD card ให้ Pi พบว่ามีไฟฟ้าแรงดันอยู่ในช่วง -0.5 ถึง 0.5 โวลต์จริงๆ ด้วยครับ ถ้าใครจะต่อหูฟังอาจต้องมั่นใจว่า สิ่งที่นำมาต่อนั้นทนทานหรือมีระบบป้องกันไฟฟ้ากระแสตรงที่อาจจะไหลเข้ามาด้วยนะครับ

เมื่อเจอปัญหาบูตไม่ขึ้น ไฟ ACT ติดหรี่ๆ

$
0
0

เจอปัญหาค้างครับ พอถอดสายไฟออกมัน mount mmcbk0p2 ไม่ได้ เลยถอดมา fsck พอใส่เข้าไปบูต Raspberry Pi ใหม่ปรากฏว่าดวงไฟ LED ตำแหน่ง ACT มีแสงสีเหลืองติดหรี่ๆ แต่ LED สีแดงข้างๆ ติดสว่างสดใส ไฟ ACT เป็นตัวที่แสดงว่า มีการอ่านเขียน SD card

ลองเอา SD card ที่ลง Raspbian อื่นมาบูต ก็บูตได้ ก็เลยเปลี่ยน /boot/cmdline.txt ของมัน ให้มาอ่านที่ /dev/sda2 แทนซึ่งได้ต่อ USB card reader และเสียบ SD card อันที่มีปัญหานั้น คือกะว่าจะบูตจาก /boot ของ SD card ที่ใช้ได้แน่ๆ แต่เปลี่ยนไปใช้ rootfs จากตัวที่มีปัญหา ก็เจอปัญหา itable เหมือนเดิมอีก

rpi-boots-from-another-sdcard

ต่อมาเลยเอา SD card ที่มีปัญหานั้น ไป fsck ที่ Linux เครื่องที่เป็น x86 แล้วเอามาบูต Pi ก็ทำไม่ได้อีก เลย dd เพื่อสำรองมันลงไฟล์ แล้วซื้อ SD card แบบเดียวกันมาใหม่ แล้ว dd ไฟล์ที่สำรองไว้นั้นไปที่ SD card ที่ซื้อมาใหม่ ปรากฏว่าใช้ของใหม่บูต Raspberry Pi ขึ้นครับ แสดงว่าน่าจะเป็นปัญหาที่แผ่น SD card เสียในระดับ hardware

วิธี Reset Password ถ้าลืมหรือไม่รู้ Password เข้า Raspbian

$
0
0

มีคำถามจาก Page มาถามเหมือนกันครับว่า ถ้าไม่รู้รหัส login เข้า Raspbian จะทำอย่างไร อันที่จริงให้เว็บที่แนะนำวิธีการมาให้ด้วย แต่ติดขัดอยู่

เลยลองทำให้ดูครับ ที่ SD card ที่ไม่รู้รหัสผ่านนั้น แก้ในไฟล์ /boot/cmdline.txt หรือ cmdline.txt ที่อยู่ในพาร์ติชัน FAT (mmcblk0p1) ต่อท้ายด้วยข้อความ init=/bin/sh เข้าไป (อย่าขึ้นบรรทัดใหม่) จากนั้นก็เอา SD card นั้นไป boot โดยการใช้งานให้ต่อกับจอภาพและคีย์บอร์ด (ผมลองกับ serial port terminal ไม่ได้ผล จะติดที่ Ethernet หรือ Wi-Fi) รอสักครู่มันจะมาหน้าจอให้กรอกคำสั่งเลยโดยไม่ต้องใส่ password ให้เราพิมพ์คำสั่ง

mount -o remount,rw /
passwd pi

จากนั้นจะมีมาถามรหัสผ่าน (password) ใหม่ที่ต้องการ ก็กรอกรหัสผ่านของ login pi ตามที่ต้องการ จำไว้ด้วยนะครับว่ากรอกอะไรไป จากนั้นก็สั่ง

sync
exec /sbin/init

มันจะเข้าสู่การทำงานตามปกติ ภาพตัวอย่างขณะที่ทำ
recovery-raspbian-password

ความหมายของมันก็คือ แทนที่จะเริ่ม process แรกด้วย init (ถ้าลองสั่ง ps ดู จะพบว่า init จะได้ process id เป็น 0 เสมอ) ก็เริ่มด้วย shell เลย เมื่อแก้อะไรเสร็จแล้ว จึงค่อยเข้าสู่การทำงาน init ตามปกติ


ทดลอง Raspberry Pi Apache SSL Web Server

$
0
0

raspberry-pi-apache2-https-using-ssl-https

ถ้าติดตั้ง Apache httpd ไปแล้ว แล้วอยากใช้แบบ SSL หรือใช้แบบปลอดภัยมีการเข้ารหัสผ่านทาง https ได้ ถ้าจะทำกันเองง่ายๆ แบบไม่ต้องไปซื้อ cert ก็สร้าง cert แบบใช้เอง และติดตั้งส่วนประกอบอื่นๆ เพื่อใช้ SSL

sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
sudo chmod 600 /etc/apache2/apache.pem
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo service apache2 reload

ในขั้นตอนแรก จะมีคำถามจะกดผ่านไปหมดเลยก็ได้นะครับ

apache2-httpd-https-ssh-001

 

ปัญหา Unable to Resolve Host Address อาจเกิดจาก IPv6

$
0
0

ถ้าเจอปัญหา unable to resolve host address อาจเกิดจาก IPv6 ซึ่งปัญหานี้ไม่ใช่ของ Raspbian บน Raspberry Pi อย่างเดียวนะครับ Linux บนเครื่องคอมพิวเตอร์อื่นๆ ก็เจอปัญหานี้ได้ โดยถ้าทดลอง download ด้วย wget แล้ว download ไม่ได้ แต่ถ้าเพิ่มตัวเลือก -4 เพื่อบังคับให้ใช้ IPv4 เท่านั้นไม่ใช้ IPv6 แล้ว download ได้ แสดงว่าปัญหามาจากการใช้งาน IPv6

unable-to-resolve-host-address-except-using-ipv4

วิธีการแก้ไขให้ ใช้แต่ IPv4 ให้ login เป็น root ด้วยการ sudo su เลยครับ เพราะผมเคยลองแค่ sudo ตามหลังด้วยคำสั่งที่ละบรรทัดแล้วไม่ได้ผล จากนั้นสั่ง

sudo su
echo "net.ipv6.conf.all.disable_ipv6=1" > /etc/sysctl.d/disableipv6.conf
echo 'blacklist ipv6' >> /etc/modprobe.d/blacklist
sed -i '/::/s%^%#%g' /etc/hosts
sed -i 1i"nameserver 208.67.222.222" /etc/resolv.conf
reboot

คำอธิบายคือ คำสั่งในบรรทัดที่ 2 ถึง 4 จะเป็นการสั่งให้ไม่ใช้งาน IPv6 ส่วนบรรทัดที่ 5 จะเลือกใช้ name server จาก OpenDNS ที่แก้ปัญหานี้ได้  และสุดท้ายบรรทัดที่ 6 จะเป็นการรีบูตเครื่องใหม่ครับ

[updated 29.09.2013] ผมลองกับ Pidora (Fedora Remix) พบว่าแค่แก้ไฟล์ /etc/resolv.conf ให้มีบรรทัด nameserver 208.67.222.222 อยู่บนสุด แล้วบรรทัดถัดลงมาเป็น nameserver 208.67.220.220 ซึ่งก็คือ server อีกตัวของ OpenDNS ปรากฏว่าแก้แค่นี้ก็แก้ปัญหาได้
เลยนำมาทดลองกับ Raspbian พบว่า แก้แค่ /etc/resolv.conf ก็พอครับ
และจะว่าไป ถ้าไม่อยากแก้ที่ /etc/resolv.conf ของ Linux โดยให้ใช้ nameserver เป็น ADSL router ก็น่าจะไปแก้ที่ router ที่เราใช้งานแทนได้เหมือนกัน

เมื่อเจอปัญหา “Greetings from standalone Raspberry Pi”

$
0
0

เมื่อเจอปัญหา “Greetings from standalone Raspberry Pi” ขึ้นที่หน้าจอ

greeting-from-standalone-raspberry-pi

โปรดสังเกตนะครับว่า ตัวอักษรจะใหญ่ๆ หรือความละเอียดของจอภาพต่ำนั้นเอง และงานนี้ถ้าต่อ keyboard อยู่แล้วและกด enter จะมี # มารอรับคำสั่งจากเรา

หรือถ้าใช้ผ่าน serial port แล้วเจอว่ามีข้อความต่อไปนี้ ค้าง และไม่ไปไหนต่อ

mmc0 dma irq 6 ignored - results were reset

หรือ

mmc:0 missed completion of cmd 18 DMA (512/512 [1][1])

หรือ

smsc95xx 1-1.1:1.0: eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb

(ตามด้วย MAC address) แสดงว่า Raspberry Pi เข้าสู่การทำงานแบบ Safe Mode ไปแล้วครับ ของผมน่าจะเกิดจากการใช้ GPIO4 หรือขาที่ 5 ของ P1 จากการทดลอง ADC ที่ใช้จากค่า time constant ของ RC แล้วขาที่ 5 ไปโดน ground โดยไม่ตั้งใจ การแก้ไขก็ทำได้โดยเพิ่มบรรทัด avoid_safe_mode=1 ลงไปในไฟล์ /boot/config.txt แต่การใช้งาน Raspberry Pi เครื่องที่โดนอาการนี้ คงต้องเพิ่มบรรทัดที่ว่านี้ทุกครั้งในการใช้งานไปแล้วล่ะครับ

Viewing all 11 articles
Browse latest View live