All registerations/deregisterations are sorted by physical connector string.
Span registration should generally always succeed. Span unregistration may fail if channels from the span are in use by e.g. asterisk. In such a case you'll also see those channels as '(In use)' in the output of lsdahdi(8).
on --- registers all XPD's to dahdi.
If the option is not used, the sort order is taken from the environment variable XBUS_SORT and failing that: the hard-coded default of SORT_XPPORDER.
The available sorting orders are documented in Dahdi::Xpp manual.
$ dahdi_registration -s type
XBUS-01 usb:0000153 usb-0000:00:10.4-2
XBUS-01/XPD-00: on Span 1
XBUS-01/XPD-01: on Span 2
XBUS-00 usb:0000157 usb-0000:00:10.4-4
XBUS-00/XPD-00: on Span 3
XBUS-00/XPD-01: on Span 4
XBUS-00/XPD-02: on Span 5
XBUS-00/XPD-03: on Span 6
XBUS-00/XPD-04: on Span 7
XBUS-00/XPD-05: on Span 8
XBUS-00/XPD-06: on Span 9
XBUS-00/XPD-07: on Span 10
XBUS-02 usb-0000:00:10.4-1
XBUS-02/XPD-00: on Span 11
XBUS-02/XPD-10: on Span 12
# Sorted: type
This should allow you to register / unregister a specific XPD rather than all of them.