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:
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.
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
ATTRS{ vendor} =="0x1131" , \
ATTRS{ device} =="0x1562" \
RUN+=" /usr/local/ sbin/fix- onda-n501hs %b"
ACTION=="add", SUBSYSTEM=="pci", \
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.