On Fri, May 22, 2015 at 6:01 AM, Iñigo Martínez <[email protected]> wrote: > > Hi, > > I have installed a custom Debian using the steps on eewiki. I have > downloaded the beaglebone-black-g-ether-load.sh script to load g_ether, and > finally I have created a systemd service to load it as follows: > > [Unit] > Description=Generic BeagleBone Black at boot time > Requires=systemd-journald.socket basic.target > After=local-fs.target systemd-journald.socket basic.target > > [Service] > Type=simple > ExecStart=/opt/scripts/beaglebone-black-g-ether-load.sh > StandardOutput=journal > Restart=no > > [Install] > WantedBy=multi-user.target > > When booting the service outputs an error when loading the g_multi module: > > may 22 12:54:57 beaglebone beaglebone-black-g-ether-load.sh[185]: cpsw.0: > 7C:66:9D:46:4B:43 > may 22 12:54:57 beaglebone beaglebone-black-g-ether-load.sh[185]: cpsw.1: > 7C:66:9D:46:4B:45 > may 22 12:54:57 beaglebone beaglebone-black-g-ether-load.sh[185]: modprobe: > ERROR: could not insert 'g_multi': No such device > > I have seen that there is another discussion related to this problem, but > the difference in this case is that it load after login in the system and > executing the script by hand. > > I can't figure out what is the difference between both cases and why it > doesn't work on boot. > > More information: > > root@beaglebone:~# printenv > XDG_SESSION_ID=1 > TERM=xterm > SHELL=/bin/bash > USER=root > MAIL=/var/mail/root > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > PWD=/root > LANG=en_US.UTF-8 > SHLVL=1 > HOME=/root > LOGNAME=root > XDG_RUNTIME_DIR=/run/user/0 > _=/usr/bin/printenv > > Modules before loading: > > root@beaglebone:~# lsmod > Module Size Used by > musb_dsps 8465 0 > musb_hdrc 76896 1 musb_dsps > pruss_remoteproc 12702 0 > ti_am335x_adc 4766 0 > kfifo_buf 1941 1 ti_am335x_adc > industrialio 34965 2 ti_am335x_adc,kfifo_buf > musb_am335x 1075 0 > uio_pdrv_genirq 2824 0 > uio 7008 1 uio_pdrv_genirq > usb_f_mass_storage 34731 0 > usb_f_rndis 17807 0 > u_ether 9436 1 usb_f_rndis > libcomposite 38883 2 usb_f_rndis,usb_f_mass_storage > > And after loading: > > root@beaglebone:/opt/scripts# lsmod > Module Size Used by > usb_f_acm 5695 1 > u_serial 9655 1 usb_f_acm > usb_f_ecm 7901 1 > g_multi 3226 0 > musb_dsps 8465 0 > musb_hdrc 76896 1 musb_dsps > pruss_remoteproc 12702 0 > ti_am335x_adc 4766 0 > kfifo_buf 1941 1 ti_am335x_adc > industrialio 34965 2 ti_am335x_adc,kfifo_buf > musb_am335x 1075 0 > uio_pdrv_genirq 2824 0 > uio 7008 1 uio_pdrv_genirq > usb_f_mass_storage 34731 2 g_multi > usb_f_rndis 17807 2 g_multi > u_ether 9436 3 usb_f_ecm,usb_f_rndis,g_multi > libcomposite 38883 5 > usb_f_acm,usb_f_ecm,usb_f_rndis,g_multi,usb_f_mass_storage > > Any idea why this is happening ?
Yeap, you have a race condition between: musb_hdrc & g_multi The easy fix is to build-in musb_hdrc. Otherwise verify musb_hdrc has been loaded before you modprobe g_multi Regards, -- Robert Nelson https://rcn-ee.com/ -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
