I followed the advice from this post and successfully build a working image for my router
However, when I wish to insert a USB drive into my router, it failed to detect. I have tried to flash back to 18.06.9 (self-compiled) and it can detect the drive.
Packages I have installed:
Hi, I don't have a device like yours, but I've been searching for and reading about migration from ar71x to ath79.
At this moment, I'm looking for information regarding USB. That's why I read your post...
So, I just can share a little tip, but I'm not sure if this can help you...
Maybe there are some patches working in ar71xx that adjust some things to make USB functional in your device. Maybe something missing (or impossible) to declare in DTS file....
For example, maybe target/linux/ar71xx/920-usb-chipidea-AR933x-platform-support.patch since it seems your device uses AR9331.
If this is your case, try to look at some other DTS file for the same SOC and maybe you can figure out something that could help you.
and driver don't enable it (possiblly wrong dts config?).
You can add regulator-boot-on or regulator-always-on property to emulate previous (ar71xx) behaviour. Something like:
I tried regulator-boot-on, which still disables it.
Then I tried regulator-always-on, the "disabling" message disappears, but the device failed to recognize the drive. The output of dmesg | grep usb is
[ 0.283198] ar7200-usb-phy usb-phy: phy reset is missing
[ 16.241915] usbcore: registered new interface driver usbfs
[ 16.246065] usbcore: registered new interface driver hub
[ 16.251530] usbcore: registered new device driver usb
[ 16.878854] usbcore: registered new interface driver usb-storage
[ 17.118614] usbcore: registered new interface driver ums-alauda
[ 17.138399] usbcore: registered new interface driver ums-cypress
[ 17.145886] usbcore: registered new interface driver ums-datafab
[ 17.158298] usbcore: registered new interface driver ums-freecom
[ 17.178435] usbcore: registered new interface driver ums-isd200
[ 17.185864] usbcore: registered new interface driver ums-jumpshot
[ 17.208283] usbcore: registered new interface driver ums-karma
[ 17.216042] usbcore: registered new interface driver ums-sddr09
[ 17.228814] usbcore: registered new interface driver ums-sddr55
[ 17.248693] usbcore: registered new interface driver ums-usbat
So, with this little modification on my u-boot code I can use some USB devices with 19.07.4 / ath79.
Using 19.07.4 / ar71xx I can use USB too if I change the board initialization code on Openwrt source (files mach-tl-wr941nd.c and dev-usb.c). It's not necessary the u-boot modification.
I don't know how or if it is possible to express this kind of initialization using DTS yet. If I understood well, it depends on some driver expecting and being able to use a configuration expressed in DTS file...
But, I'm not sure which driver could have this responsibility. Maybe ar7200-usb-phy?? (created by 0004-phy-add-ath79-usb-phys.patch).
I my case, the probe fails with the same message as yours (the same for some others devices - some posts have this message...):
ar7200-usb-phy usb-phy: phy reset is missing
I'm not sure what is the impact of this failure... I don't know if it could affect you...
The driver is not loaded, but in my case I can use some (not all that I've tested) USB devices.
Good luck!
PS: There are some specific threads about ath79 migration. Maybe you could ask there for more information. At least, there are a lot of people that knows a lot more about this than I
It's very interesting. In this case the most probable that usb phy analog reset is needed. @Icarusradio Can you test something like adding into ar9331_tplink_tl-wr703n.dts:
One stupid question. Which usb host driver do you use?
As @lmmodesto noted, ar71xx registrate/use ehci-platform for host mode
and ci_hdrc for device mode. ath79 registrate/use chipidea,usb2 and force host mode.
Decompile dts-file contain:
I've tried to add both &usb section and regulator-always-on to the dts file, installed kmod-usb-chipidea, it still fails to recognize the drive. The dmesg is also the same.