[asterisk-bugs] [JIRA] (DAHLIN-352) Astribank (xpp) may fail if loaded from initrd (dracut)

Tzafrir Cohen (JIRA) noreply at issues.asterisk.org
Mon Feb 13 09:05:10 CST 2017


Tzafrir Cohen created DAHLIN-352:
------------------------------------

             Summary: Astribank (xpp) may fail if loaded from initrd (dracut)
                 Key: DAHLIN-352
                 URL: https://issues.asterisk.org/jira/browse/DAHLIN-352
             Project: DAHDI-Linux
          Issue Type: Bug
      Security Level: None
          Components: Astribank (xpp)
         Environment: A system that uses dracut to create the initramfs (e.g.: Centos 7) and has an Astribank
            Reporter: Tzafrir Cohen
            Assignee: Wendell Thompson
            Severity: Minor


Error message in question: xpp-related error message (xpp-Error) regarding /usr/share/dahdi/init_card_<n>_30 that has failed (e.g.: <n> = 4).

The Astribank (xpp) kernel modules use a rather non-standard hardware initialization code: part of it is a userspace script (/usr/share/dahdi/init_card_<m>_<n> where m is the module type, e.g. 4 for PRI, and <n> is the protocol version, which has been 30 for quite some time).

Dracut is a program that creates an initramfs: an initial filesystem that the kernel can load in order to load the real root filesystem. In order to do that automatically without hand-crafting it copies all the kernel modules that are currently loaded.

Thus if you are on e.g. on a Centos 7 system, have an Astribank connected to it (and properly configured) on and have upgraded your kernel, dracut is being run. It will copy the drivers of the Astribank.

On the next boot, xpp_usb.ko will get loaded from the initrd. xpp_usb.ko is the module that gets loaded automatically when an Astribank is detected on the USB bus. However the initialization of the Astribanks from the root filesystem may fail if the root filesystem is not yet available by the time they are called.

One command to test:

{code}
lsinitrd | grep xpp_usb
{code}
If it gives an output, your initrd has the module xpp_usb.

A workaround, in case you have this issue:

{code}
echo 'omit_drivers+="xpp_usb"' >/etc/dracut.conf.d/dahdi.conf
dracut --force
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list