User Tools

Site Tools


rpusbdisp_faq_cn

RoboPeak Mini USB显示屏常见问题解答

Q1

Q: 怎样正确编译可以使用RoboPeak Mini USB显示屏的Linux内核?
A: 请确保在内核配置里添加了以下模块的支持:

  • framebuffer support (CONFIG_FB=y)
  • deferred io support in framebuffer (CONFIG_FB_DEFERRED_IO=y)
  • fb file operation support
    • CONFIG_FB_CFB_FILLRECT=y
    • CONFIG_FB_CFB_COPYAREA=y
    • CONFIG_FB_CFB_IMAGEBLIT=y
    • CONFIG_FB_SYS_FILLRECT=m
    • CONFIG_FB_SYS_COPYAREA=m
    • CONFIG_FB_SYS_IMAGEBLIT=m
    • CONFIG_FB_SYS_FOPS=m
    • CONFIG_FB_MODE_HELPERS=y
  • Input event support (Generic input layer support)

具体编译过程请参考 https://github.com/robopeak/rpusbdisp.

推荐使用RoboPeak提供的预编译系统映像: pre-build ROMs


Q2

Q: 怎样确定RoboPeak Mini USB显示屏的固件版本。目前最新版本的固件版本号是多少?
A: 显示屏的固件版本号会在屏幕的启动画面上显示。目前最新版的固件版本号是1.04版,这个版本开始增加了传输数据压缩,因此对显示屏的显示帧率有大幅改善。


Q3

Q: RoboPeak Mini USB显示屏的启动界面是否可以订制?
A: 可以的,我们提供显示屏的订制事宜。请具体与support@robopeak.org联系。


Q4

Q: 我想继续使用现有的MiniPC系统,不想使用你们的预编译ROM,也不想自己编译驱动程序。如何在现有系统中使用RoboPeak Mini USB显示屏?
A: 在现有的系统中使用RoboPeak Mini USB显示屏绝大多数情况下是可以的。我们提供了分别针对树莓派以及基于Allwinner AX芯片的MiniPC(Cubieboard/PCDuino/ ITeaduino plus A10)等设备的操作方法。请继续阅读FAQ找到对您适用的部分。


Q5

Q: 如何为现有的树莓派添加RoboPeak Mini USB显示屏驱动支持?
A: 树莓派的官方内核不支持delayed frame buffer IO功能,所以我们必须为树莓派系统重新编译内核。但您并不需要替换整个系统,您可以仅仅重新编译/替换内核而保留所有您的现有应用和数据。

–替换内核–

方法一,重新编译内核代码然后替换

您可以参照以下链接为树莓派重新编译内核: http://elinux.org/RPi_Kernel_Compilation 以上方法仅仅替换您的Linux内核而保留您的应用和数据。但仍然建议您事先备份您的系统。 在重新编译Linux内核前请确认所有RoboPeak Mini USB 显示屏所需要的内核模块已经选择。请参考 Q1 获得更多信息。

方法二,从RoboPeak提供的预编译系统映像里提取并替换Linux内核相关文件

  1. 从预编译系统映像里提取Linux内核
    1. 将RoboPeak 预编译系统映像写入一张空白的SD卡
    2. 找到第一个FAT分区的 kernel.img. (您也可以用这张SD卡启动系统,kernel.img位于/boot目录)
    3. 将Kernel.img复制一份
  2. 替换Linux内核文件
    1. 挂载您现有的SD卡
    2. 将第一个FAT分区中的kernel.img替换成第一步里保存的文件。请在操作前先备份此文件。(您也可以直接启动您的系统,并用第一步里保存的文件替换/boot目录下的kernel.img)

–复制设备驱动程序–

现在,你的内核已经准备好了。您需要将RoboPeak迷你USB显示屏相关的驱动程序从RoboPeak预编译的ROM里复制一份。

  1. 复制RoboPeak Mini USB显示屏的驱动至您的系统
    1. 挂载RoboPeak预编译系统映像
    2. 挂载第二个分区里的rootfs (请在Linux/Mac OS下操作)
            $ sudo mount /dev/sdd2 /media/sdcard
            请将 /dev/sdd2 替换为您实际的SD卡设备号
  2. 将 lib/modules 目录下的所有文件复制一份
         $ cd /media/sdcard
         $ sudo mkdir ~/temp_folde
         $ sudo cp -r lib/modules/* ~/temp_folder/
         $ sudo umount /dev/sdd2
  3. 插入您现有系统的SD卡, 将刚才保存的所有文件复制到您现有文件系统的lib/modules 目录:
         $ mount /dev/sdd2 /media/sdcard
         $ cd /media/sdcard
         $ sudo cp -r -f ~/temp_folder/* lib/modules/
         $ sudo umount /dev/sdd2

现在您可以使用此SD卡启动您的系统了,它包含了更新的内核文件以及所需要的驱动文件。您原来的应用和数据都将被保留。


Q6

Q: 如何为Cubieboard/PCDuino/ITeaduino plus A10等基于Allwinner AX芯片的MiniPC系统增加USB显示屏驱动支持,但不替换现有系统?
A: Cubieboard/PCDuino/ITeaduino plus A10等MiniPC采用的是Allwinner AX系列芯片,对于这类MiniPC,我们提供了用于支持RoboPeak Mini USB显示屏的Linux内核以及驱动包:hwpack。只需要将hwpack安装到当前的SD卡系统上,即可在现有系统中增加USB显示屏驱动支持。如果您的系统是位于NandFlash芯片当中,则此方法不适用。 操作步骤 (建议您在操作前,先备份SD卡上的系统,以防因为误操作丢失数据):

  1. 从我们的预编译ROM下载列表找对应MiniPC的hwpack包:miniPC firmware
  2. 将保存现有系统的SD卡插入运行Linux的PC机,下载更新脚本:
      git clone git://github.com/linux-sunxi/sunxi-bsp.git
  3. 使用如下命令将hwpack安装到SD卡:
         $ ./scripts/sunxi-media-create.sh [device] [hwpack] norootfs
         [device]: SD卡在Linux中的设备路径,比如/dev/sdc。
         [hwpack]: hwpack包的文件名
         完整的命令看起来如下:
         $./scripts/sunxi-media-create.sh /dev/sdc hwpack_cubieboardII_rpusbdisp_v2.tar.xz norootfs
         上述命令将名为hwpack_cubieboardII_rpusbdisp_v2.tar.xz的hwpack包安装到/dev/sdc对应的SD卡上。

关于hwpack的具体细节,可以参考如下链接: http://linux-sunxi.org/BSP#Update_an_SD-card_from_a_hwpack


Q7

Q: 为什么Windows找不到RoboPeak Mini USB显示屏的驱动?/如何在Window下使用RoboPeak Mini USB显示屏?
A: 我们即将发布用于Windows/MacOS/Linux等系统的纯用户态模式的RoboPeak Mini USB显示屏驱动和SDK包。如果需要在Windows下使用RoboPeak Mini USB显示屏,可以使用该SDK包完成。


Q8

Q: 为何我在树莓派下执行raspi-update命令更新系统后,RoboPeak Mini USB显示屏就无法使用了?怎么办?
A: raspi-update命令可能会将您系统中的Linux内核替换为树莓派官方的版本,而RoboPeak Mini USB显示屏的驱动支持并没有包含在官方的内核当中。因此就会发生上述问题。

如果您希望使用该命令更新系统,则可以在执行该命令前,在树莓派的系统中将位于/boot/kernel.img路径的Linux内核加以备份。在完成raspi-update命令执行后,将先前备份的内核文件重新替换掉/boot/kernel.img文件即可。


Q9

Q: 使用RoboPeak Mini USB显示屏时画面太小,无法通过图形界面配置系统IP地址,如何操作?
A: 我们提供的预编译ROM系统会使用DHCP自动配置网络,获取IP地址。您可以通过路由器/网关的管理页面中查看MiniPC的当前IP地址。也可以通过如下操作设置一个静态的IP地址:

将系统SD卡插入运行有Linux的PC,将第二个分区(rootfs分区)挂载至系统。使用文本编辑器编辑配置<mountpoint>/etc/network/interfaces。 参考如下文章的方法为您的MiniPC网卡配置静态IP地址: http://www.cyberciti.biz/tips/howto-ubuntu-linux-convert-dhcp-network-configuration-to-static-ip-configuration.html

此外,您也可以使用串口连接MiniPC,使用Putty/Minicom等工具,通过串口登录到MiniPC的命令行终端进行相关操作。

不同的MiniPC的串口连接方式如下:


Q10

Q: 为何树莓派下无法使用omxplayer/mplayer等视频播放器在RoboPeak Mini USB显示屏上播放视频?
A: omxplayer/mplayer等工具是可以在RoboPeak Mini USB显示屏上播放视频的,但需要进行配置。 由于树莓派自身带有硬件视频解码器,因此omxplayer/mplayer等工具默认会利用硬件视频解码的功能尝试视频播放。然而树莓派自身带有硬件视频解码器只能支持将解码的画面输出到HDMI等自带的视频输出端口,而不支持从USB端口输出。

如果希望通过omxplayer/mplayer等工具在RoboPeak Mini USB显示屏上播放视频,则需要设置这些工具,使用纯软件解码的模式。


Q11

Q: 如何在RoboPeak Mini USB显示屏上显示命令行终端?/如何在树莓派登出图形界面后,在RoboPeak Mini USB显示屏上显示命令行终端?
A: 有多重办法可以达到这一效果。这里以树莓派为例子:

方法一: 修改Linux内核的命令行参数

  1. 修改位于/boot目录下的cmdline.txt文件
         $ sudo nano /boot/cmdline.txt
  2. 文件中增加如下的语句:
         fbcon=font:ProFont6x11 fbcon=map:1
         fbcon=font:ProFont6x11 specify the font will be used in the virtual terminal.
         fbcon=map:1 used to configure virtual terminal to the second framebuffer device
         (/dev/fb1 是RoboPeak Mini USB显示屏在树莓派里的默认 framebuffer 设备号。)
  3. 保存您的配置并且重新启动系统。现在你将会在RoboPeak Mini USB显示屏上看到命令行终端在您登出X系统以后。

注意: 您也可以将SD卡插入PC来完成上述工作。此时cmdline.txt会位于SD卡的第一个FAT分区当中。

方法二: 虚拟终端重映射

在X图形界面下打开一命令行终端,或者在终端模式下输入如下命令:

     $ sudo con2fbmap 1 1

此后,命令行终端将会被映射到系统的第二个framebuffer(/dev/fb1当中,此为RoboPeak Mini USB显示屏在树莓派上的默认framebuffer设备号)。在登出图形界面后,命令行终端就会显示在USB屏幕上。


Q12

Q: 如何使得RoboPeak提供的树莓派ROM启动后直接进入命令行
A: 请按照之前的FAQ描述配置系统,让命令行终端显示在USB屏幕上,随后按如下操作进行:

  1. 修改位于树莓派系统中的文件 /etc/init.d/launch_desktop.sh
         $ sudo nano  /etc/init.d/launch_desktop.sh
  2. 将其中如下语句注释,即将如下语句(在行首插入#符号)
         #su -c startx pi &
  3. 保存修改然后重启系统。
rpusbdisp_faq_cn.txt · Last modified: 2015/06/29 12:27 (external edit)