Raspberry Pi常见问题

来自ALSROBOT WiKi
跳转至: 导航搜索
Raspia.JPEG

目录

树莓派

树莓派体积小,功能强大,自从其问世以来,以其优越的性能,倍受电子爱好者的亲赖,也正因为树莓派功能比较多,所以在使用时,发现的问题也会越来越多,在此列出使用过程中,遇到的常见问题以及疑难杂症,日后也会不间断的更新,敬请关注。

树莓派常见问题

  • 树莓派各个型号的区别

详见:Raspberry Pi板的介绍

  • 为什么没有实时时钟?

树莓派没有实时时钟,关机后无法维持时钟的走时。没有连接网络的树莓派,每次开机时都需要手工设定时间。(连接网络的,开机时会自动联网获取时间)添加实时时钟时钟电路,其实出奇的昂贵。因为一旦在板子上加入电池,空间和接口电路都会大大推高树莓派的造价。如果您的应用或电子制作有需要,可以考虑用GPIO扩展端口,自己在外部连接实时时钟电路。

  • 能增加内存吗?

不能。内存是一个“扣”在CPU/GPU上的PoP封装,无法拆卸。

  • 如何连接键盘和鼠标?

使用USB端口。树莓派A型有一个,B型有两个USB口。如果您要连接更多的USB设备,使用USB HUB即可。建议使用无线键盘鼠标套装。除了使用方便外,最重要的是可以节省一个USB口。推荐:罗技MK240或MK220。

  • 树莓派能连接什么显示设备?

树莓派提供HDMI与复合视频两种输出。您可以将树莓派连接到任何电视机的A/V输入端子,或是新型电视的HDMI端子上。也可以使用廉价的HDMI转DVI线缆(转接头)连接支持DVI输入的显示器。树莓派不支持VGA。如果要使用VGA或YPbPr色差,您需要一个相对贵一些的HDMI转VGA转换器。最便宜的可靠的HDMI转VGA转换器,在淘宝上72元可以买到,介绍文档会稍后贴到论坛上。 当然,尽管对初学者可能有些难,但树莓派即使没有显示器,也可以通过远程登录进行操作!

  • 为什么不支持VGA?

因为BCM2835芯片只支持HDMI输出。并且VGA技术也已经开始逐步退出显示市场,有了过时的趋势。我们因此也不计划去支持VGA。

  • 输入密码时不显示是怎么回事?

树莓派登录界面要求输入Password:时,会发现按什么屏幕都没反应。密码完全不回显,这是UNIX/Linux系统的正常现象。只需“摸黑”输入密码并回车就行。退格键也是能用的。

  • 可以用电池供电吗?

可以。树莓派用4节镍氢充电电池(1.2V)应该能运行,不过随着电池的放电,电压低到一定程度树莓派就会异常,请充电。如果用4节不可充电碱性电池(1.5V),由于电压高到了6V,您可能需要使用线性稳压器或其他手段降压。其实总之,只用充电电池推动树莓派是极不方便的。如果您真有电池供电的需求,推荐购买“移动电源”。移动电源是现在智能手机的常用附件,为您提供一个输出5V电压的USB接口。可靠品牌有羽博和品胜。

  • 支持以太网供电(PoE)吗?

目前的版本不支持。不过因为要求这个功能的呼声很高,所以制造商在考虑以后是否要引入。

  • 操作系统是?

各种Linux。我们建议您使用Raspbian(为树莓派定制的Debian)。操作系统存储在SD卡上,您可以自己烧录替换。

  • 有官方编程语言吗?

我们采用并推广Python,作为青少年编程教育用语言。不过任何可以为ARMv6架构编译的语言,都可以用于树莓派。我们当然不限制您一定要使用Python。

  • 可以运行WINE吗?(或Windows,或任何x86软件)

不行,Linux下能通过WINE运行Windows程序,至少有赖于CPU的相同。因为程序中的指令,需要与CPU指令集一致才可以被CPU执行。所以任何的ARM,都肯定运行不了x86程序——除非使用模拟器,但性能极低完全无法实用。

  • 有关SD卡和存储设备

最大实验了32GB的SD卡没有问题。
SD卡容量的最低需求,理论上2GB。但为了给新的程序和文件保留空间,实际上请一定不要低于4GB。建议SD卡选择速度等级为Class10的,可以用满树莓派对SD卡的读写能力,最大限度提高速度。推荐SanDisk Ultra Class10 TF 8GB这张卡。销量大用的人多,便宜又成熟。8GB是推荐的大小,肯定够用,并且备份恢复都方便。

  • 变砖了怎么办?

用电脑,重新把系统镜像刷进SD卡。
换句话说:因为树莓派没有存储,所以树莓派本身是不会变砖的,有错全是SD卡的错!

使用问题

1、用户pi无写权限 现象:挂载U盘后,必须要sudo才有写的权限。
原因:挂载时,没有制定相关选项uid和gid。
解决办法:
先用id获取uid、gid,再挂载

pi@raspberrypi ~ $ id
uid=1000(pi) gid=1000(pi) 
groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),
46(plugdev),60(games),100(users),105(netdev),999(input),1002(spi),1003(gpio)  
pi@raspberrypi ~ $ sudo mount -o  iocharset=utf8,uid=1000,gid=1000 /dev/sda4 /media/udisk/
pi@raspberrypi ~ $

2、MAX3232转接头连接USB转RS232转换接头和树莓派,控制台会出现乱码=== 现象:即便是PC采用FTDI232的USB转RS232,再使用MAX3232转接头,接入树莓派在串终端上输入字符时,回显有乱码。取决于转换线的质量。
原因:USB转RS232的过程中已经有一次5v TTL点平转RS232电平的转换,再经过MAX3232将RS232电平转换为3.3VTTL电平,转换环节太多,信号容易丢失。
解决办法:
1)采用精心设计的USB转RS232转换线可避免。LT 手头有两条线,经过MAX3232转接,一条线输入字母回显会乱码;另一条线使用键盘输入无任何问题,但是拷贝粘贴到终端时,回显会出现乱码。
2)不要使用USB转RS232,直接用MAX3232转接头连接电脑原生RS232和树莓派。
3)直接使用USB转3.3VTTL,避免多次转换。

3、USB接口带不动USB移动硬盘 现象:插入USB移动硬盘后,硬盘嗒嗒响。
原因:USB供电不足。
解决办法:
方法1:修改config.txt ,添加 max_usb_current=1
方法2:修改config.txt ,添加 safe_mode_gpio=4

4、不能输入特殊字符 现象:在输入指令时,有些字符打不出来
原因:树莓派是英国开发的,英式键盘和美式键盘布局不一样,而我们通常使用的是美式键盘。
解决办法:
将英式键盘改为美式,具体方法如下:
树莓派键盘设置的更改

5、树莓派如何截全屏 解决办法: 使用截图软件,命令安装名叫“scrot”的截屏工具。
sudo apt-get install scrot
截取全屏幕执行:
sudo scrot
用鼠标选区屏幕区域截取执行:
sudo scrot -s

6、Volume was not properly unmounted. Some data may be corrupt. Please run fsck. 现象:非正常关机后,在开机信息最末尾出现

[   15.721411] FAT-fs  (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt.  Please run fsck.

原因:非正常关机,比如没执行 sudo poweroff 关机就拔掉 MicroUSB 供电插头。
解决办法: 方法1:最方便的是,将TF卡取下,用USB读卡器插入Windows系统,用磁盘修复即可。
方法2:在树莓派里使用 dosfstool。

# umount /boot
# git clone http://daniel-baumann.ch/git/software/dosfstools.git
# cd dosfstools
# make
cc -O2 -fomit-frame-pointer -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wextra -Wno-sign-compare -Wno-missing-field-initializers -Wmissing-prototypes -Wstrict-prototypes -g   -c -o fatlabel.o src/fatlabel.c
cc   mkfs.fat.o   -o mkfs.fat
# ./fsck.fat -V /dev/mmcblk0p1
fsck.fat 3.0.24 (2013-11-23)
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Starting check/repair pass.
Starting verification pass.
Leaving filesystem unchanged.
/dev/mmcblk0p1: 14 files, 2383/7161 clusters
./fsck.fat -a /dev/mmcblk0p1
#mount /boot

方法3:直接使用编译好的 fsck.fat

pi@raspberrypi ~ $ git clone  https://github.com/davidrobot/myRaspi.git
Cloning into 'myRaspi'...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3),  done.
remote: Total 5 (delta 0), reused 5  (delta 0)
Unpacking objects: 100% (5/5), done.
pi@raspberrypi ~ $ cd myRaspi/bin/
pi@raspberrypi ~/myRaspi/bin $ chmod +x  fsck.fat
pi@raspberrypi ~/myRaspi/bin $ sudo cp  fsck.fat /usr/bin
pi@raspberrypi ~/myRaspi/bin $ sudo  fsck.fat -a /dev/mmcblk0p1
fsck.fat 3.0.26 (2014-03-07)
0x25: Dirty bit is set. Fs was not  properly unmounted and some data may be corrupt.
Automatically removing dirty bit.
Performing changes.
/dev/mmcblk0p1: 13 files, 1231/7161  clusters
pi@raspberrypi ~/myRaspi/bin $

方法4:升级系统即可

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

7、wlan0: deauthenticating from xx:xx:xx:xx:xx:xx by local choice 现象: 插入一个USB转LAN的网卡eth1 ,USB无线网卡 waln0 就被断开了。拔掉USB转LAN网卡,WLAN才恢复。或者eth0 ,连通,wlan0也会断开。这个不是所希望的。

pi@raspberrypi ~ $ dmesg | tail
  
[  452.068465] usb 1-1.4: New USB  device strings: Mfr=1, Product=2, SerialNumber=3 
[  452.068481] usb 1-1.4: Product:  USB To LAN Converter
[  452.068495] usb 1-1.4:  Manufacturer: ADMtek
[  452.068508] usb 1-1.4:  SerialNumber: 0001
[  452.113419] pegasus: v0.9.3  (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[  452.118287] pegasus 1-1.4:1.0:  setup Pegasus II specific registers
[  452.229480] pegasus 1-1.4:1.0:  eth1, ADMtek ADM8511 "Pegasus II" USB Ethernet, 00:00:e8:00:24:40 
[  452.233024] usbcore: registered  new interface driver pegasus  
[  454.718505] wlan0:  deauthenticating from 00:24:23:50:1e:ee by local choice (reason=3)
[  454.736171] cfg80211: Calling  CRDA for country: DE

/etc/network/interfaces是这样的

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug eth1
iface eth1 inet static
  address 192.168.1.1
  netmask 255.255.255.0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam  /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

同时/etc/wpa_supplicant/wpa_supplicant.conf 这样的

ctrl_interface=DIR=/var/run/wpa_supplicant  GROUP=netdev
update_config=1  
network={
    ssid="LT_U880"
    psk="password"
}

原因:似乎是 wpa_supplicant 导致的。这里也有关于reason=3 的讨论。
解决办法:
重新编写 interfaces 文件,不使用 wpa-roam。

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug eth1
iface eth1 inet static
  address 192.168.1.1
  netmask 255.255.255.0
allow-hotplug wlan0
iface wlan0 inet dhcp
  wpa-ssid "LT_U880"
  wpa-psk "password"
iface default inet dhcp

尽管这样解决了插入USB转LAN网卡后,WLAN失效,但是似乎会WLAN一直出现deauth,auth反复认证 reason =2 ,但是并不影响通讯,即使是不采用我的设置而采用系统默认的interfaces设置,也是有auth和deauth反复过程的。还有似乎这样拔掉USB无线网网卡后,不能再自动获取IP地址。有待进一步测试。


了解更多

树莓派系列教程
树莓派3代B型购买地址

Erweima.png