您尚未登录。

#1 2015-09-18 01:53:35

kkliucongbo
会员
注册时间: 2015-09-09
帖子: 5

树莓派模块加载顺序问题。

Jan 01 00:00:09 alarmpi kernel: fbtft: module is from the staging directory, the quality is unknown, you have been warned.
Jan 01 00:00:09 alarmpi kernel: fbtft_device: module is from the staging directory, the quality is unknown, you have been warned.
Jan 01 00:00:09 alarmpi kernel: fbtft_device:  SPI devices registered:
Jan 01 00:00:09 alarmpi kernel: fbtft_device:  'fb' Platform devices registered:
Jan 01 00:00:09 alarmpi kernel: fbtft_device:      soc:fb id=-1 pdata? no
Jan 01 00:00:09 alarmpi kernel: fbtft_device:  spi_busnum_to_master(0) returned NULL
Jan 01 00:00:09 alarmpi kernel: fbtft_device: failed to register SPI device
Jan 01 00:00:09 alarmpi kernel: random: nonblocking pool is initialized
Jan 01 00:00:09 alarmpi systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Jan 01 00:00:09 alarmpi systemd[1]: Failed to start Load Kernel Modules.
Jan 01 00:00:09 alarmpi systemd[1]: systemd-modules-load.service: Unit entered failed state.
Jan 01 00:00:09 alarmpi systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
Jan 01 00:00:09 alarmpi systemd[1]: Mounting Configuration File System...
Jan 01 00:00:09 alarmpi systemd[1]: Starting Apply Kernel Variables...
Jan 01 00:00:09 alarmpi systemd[1]: Mounted Configuration File System.
Jan 01 00:00:09 alarmpi systemd[1]: Started Apply Kernel Variables.
Jan 01 00:00:09 alarmpi systemd[1]: Started udev Kernel Device Manager.
Jan 01 00:00:09 alarmpi systemd[1]: Reached target Sound Card.
Jan 01 00:00:09 alarmpi kernel: gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
Jan 01 00:00:09 alarmpi systemd[1]: Found device /dev/ttyAMA0.
Jan 01 00:00:09 alarmpi kernel: bcm2708_i2c 3f205000.i2c: BSC0 Controller at 0x3f205000 (irq 79) (baudrate 100000)
Jan 01 00:00:09 alarmpi systemd-journal[143]: Journal started
Jan 01 00:00:07 alarmpi systemd-modules-load[135]: Inserted module 'bcm2708_rng'
Jan 01 00:00:08 alarmpi systemd-modules-load[135]: Inserted module 'snd_bcm2835'
Jan 01 00:00:08 alarmpi systemd-modules-load[135]: Failed to insert 'fbtft_device': Invalid argument
Jan 01 00:00:09 alarmpi systemd[1]: Started Journal Service.
Jan 01 00:00:09 alarmpi systemd[1]: Starting Flush Journal to Persistent Storage...
Jan 01 00:00:09 alarmpi kernel: spi spi0.0: setting up native-CS0 as GPIO 8
Jan 01 00:00:09 alarmpi kernel: spi spi0.1: setting up native-CS1 as GPIO 7


给树莓派配了一块小的液晶屏幕,驱动什么的都装好了。就是在开机点亮上出了点问题,爬了wiki也没有找到,怎么在modules-load.d的conf文件里指定模块加载顺序。

正确的应该是加载完'snd_bcm2835'这个模块,初始化完GPIO接口之后再加载  fbtft-device模块的。但是现在从日志来看每次加载液晶设备的时候GPIO都没有初始化

求问:
如何指定模块加载顺序?

先谢诸君

PS:
进入系统之后用 modprobe fbtft-device能正常初始化屏幕

最近编辑记录 kkliucongbo (2015-09-18 01:56:36)

离线

#2 2015-09-18 19:23:07

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,470
个人网站

Re: 树莓派模块加载顺序问题。

你在你的配置文件里开头也指定 snd_bcm2835 试试?

离线

#3 2015-09-18 20:25:39

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: 树莓派模块加载顺序问题。

模块的依赖理论上应该由depmod来处理

离线

#4 2015-09-19 05:15:58

kkliucongbo
会员
注册时间: 2015-09-09
帖子: 5

Re: 树莓派模块加载顺序问题。

百合仙子 说:

你在你的配置文件里开头也指定 snd_bcm2835 试试?

/etc/modules-load.d/目录下默认有raspberrypi.conf里面有两行
bcm2708-rng
snd-bcm2835
按理说把fbtft-device放到第三行会依次加载的。但是它就不按照顺序来。很费解

离线

#5 2015-09-19 06:08:57

kkliucongbo
会员
注册时间: 2015-09-09
帖子: 5

Re: 树莓派模块加载顺序问题。

atmouse 说:

模块的依赖理论上应该由depmod来处理

谢谢了。问题解决了

离线

#6 2015-09-19 06:16:14

kkliucongbo
会员
注册时间: 2015-09-09
帖子: 5

Re: 树莓派模块加载顺序问题。

百合仙子 说:

你在你的配置文件里开头也指定 snd_bcm2835 试试?


哎呀这几天走了弯路。今天一早解决了,一开始也查过lsmod不过没注意。
[root@alarmpi modules-load.d]# lsmod
Module                  Size  Used by
cfg80211              480514  0
evdev                   9674  0
joydev                  8691  0
hid_logitech_hidpp      9333  0
r8188eu               442903  0
fb_ili9340              3554  1
hid_logitech_dj        10958  0
snd_soc_bcm2708_i2s     6995  0
regmap_mmio             3193  1 snd_soc_bcm2708_i2s
snd_soc_core          158272  1 snd_soc_bcm2708_i2s
i2c_bcm2708             5670  0
snd_compress            8161  1 snd_soc_core
bcm2835_gpiomem         3464  0
snd_pcm_dmaengine       5232  1 snd_soc_core
uio_pdrv_genirq         3285  0
uio                     9036  1 uio_pdrv_genirq
sch_fq_codel            7315  6
fbtft_device           35514  0
fbtft                  34607  2 fb_ili9340,fbtft_device
syscopyarea             2971  1 fbtft
sysfillrect             3424  1 fbtft
sysimgblt               2186  1 fbtft
fb_sys_fops             1475  1 fbtft
spi_bcm2835             7500  0
snd_bcm2835            21900  0
snd_pcm                86256  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_timer              19906  1 snd_pcm
snd                    61579  5 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_compress
bcm2708_rng             1171  0
rng_core                8018  1 bcm2708_rng
ip_tables              12274  0
x_tables               16490  1 ip_tables
ipv6                  348264  22

一直感觉是SPI接口没有加载,试着把这个模块(spi_bcm2835)加到了/etc/modules-load.d/raspberrypi.conf里。果然启动成功了。

cat raspberrypi.conf
bcm2708-rng
snd-bcm2835
spi-bcm2835
fbtft-device

离线

#7 2015-09-19 10:52:59

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,470
个人网站

Re: 树莓派模块加载顺序问题。

我是说为什么需要 snd-* 呢…………

离线

#8 2015-09-22 09:39:27

kkliucongbo
会员
注册时间: 2015-09-09
帖子: 5

Re: 树莓派模块加载顺序问题。

百合仙子 说:

我是说为什么需要 snd-* 呢…………

文件原有内容,没有删除

离线

页脚