Comment 10 for bug 129433

Revision history for this message
Sergio Callegari (callegar) wrote :

Some news on the USB front:

1) ONDA N501HS, ONDA H600 and ZTE MF330 support is moving away from the sierra driver, towards the option one.
In one sense this is good: I was experiencing locks with the sierra driver, probably due to some flow control incompatibility with the ONDA card.
In some other sense this is bad: with the option driver the bitrate is very poor.

2) for what concerns the ehci_hcd issue, I have a permanent userspace (no kernel patching) udev-based hack for the ONDA N501HS:

Put a file named 50-fix-onda-n501hs.rules in /etc/udev/rules.d with the following content

# udev rule for ONDA N501HS
ACTION=="add", SUBSYSTEM=="pci", \
        ATTRS{vendor}=="0x1131", \
        ATTRS{device}=="0x1562" \
        RUN+="/usr/local/sbin/fix-onda-n501hs %b"

Put a file named fix-onda-n501hs in /usr/local/sbin and give it execute permission. Content should be:

#! /bin/sh

LOGFILE=/var/log/fix-onda-n501hs.log
DELAY=1

pciid=$1

echo $(date): invoked fix-onda >> "$LOGFILE"
echo $(date): pciid: $pciid >> "$LOGFILE"

( sleep $DELAY ; echo -n $pciid > /sys/bus/pci/drivers/ehci_hcd/unbind ; \
  echo $(date): finalized >> "$LOGFILE" ) &

Obviously, you can remove the echo logging stuff if you want, but as is it lets you see if the script was invoked by looking at /var/log/fix-onda-n501hs.log
The script is tied to the ONDA by the vendor and device numbers in the udev rule. I think that they might be the same for the other ONDA and ZTE cards, but I am not that sure.