I assume loading the firmware via Linux first won't help since a PCIe reset probably also resets the USB controller.
However, I just checked Richard's kernel source and it seems the firmware loading functionality is already included, there is a call to xhcireset(BUSBNO(hp->tbdf)<<20 | BUSDNO(hp->tbdf)<<15 | BUSFNO(hp->tbdf)<<12); in http://9p.io/sources/contrib/miller/9/bcm/usbxhci.c The comment for xhcireset in http://9p.io/sources/contrib/miller/9/bcm/vcore.c confirms this: /* * Notify gpu that xhci firmware might need loading. This is for some * pi4 board versions which are missing the eeprom chip for the vl805, * requiring its firmware to come from the boot eeprom instead. */ It seems that this source code is more recent than the images for the SD card and kernel in http://9p.io/sources/contrib/miller/ - I'll try building a kernel based on the updated sources. - Michael > On 15 Jan 2021, at 23:32, Bakul Shah <ba...@iitbombay.org> wrote: > > Can you netboot Linux followed by netbooting Paln9 and have a working USB? > >> On Jan 15, 2021, at 1:17 PM, Michael Engel <michael.en...@ntnu.no> wrote: >> >> Hi, >> >> I didn't test Plan 9 on my RPi 400 so far, but I think the reason for the >> USB problems >> is the following: >> >> The Raspberry Pi 400 (along with the Compute Module 4 and the 8 GB RAM >> version >> of the RPI4) uses a new stepping C0 of the BCM2711. This version does not >> have a >> dedicated EEPROM for the firmware of the xHCI USB controller and needs an >> additional property mailbox call for loading the xHCI firmware after PCIe >> reset. >> >> Some code to load the firmware can be found in the circle bare-metal library >> (l. 88ff): >> https://github.com/rsta2/circle/blob/Step42.1/lib/usb/xhcidevice.cpp >> >> -- Michael >> >> >>> On 15 Jan 2021, at 20:54, Mack Wallace <mac...@mapinternet.com> wrote: >>> >>> I took that microSD card that has the bootable image without USB and put it >>> into a traditional Pi4. It boots on that without a problem and has mouse >>> and keyboard. I notices that after the additional CPU cores are detected, >>> that is mentions usb/hub… usb/kbd…. The image when booting on the Pi 400 >>> never provides those messages. >>> >>> Regards, >>> >>> Mack >>> >>>> On Jan 15, 2021, at 1:44 PM, Mack Wallace <mac...@mapinternet.com> wrote: >>>> >>>> Dear Skip, >>>> >>>> That pushed the ball forward significantly, but I still have issues. (But >>>> thank you, every little advancement helps.) So with that flag, I was able >>>> to get Richard’s port to boot into Glenda’s account (showing acme, faces, >>>> stats, etc). However, I do not seem to have any USB; no mouse; nor >>>> keyboard. Stats is moving on the screen, so things are not too locked up. >>>> I did try rebooting with an external keyboard and another mouse. Still >>>> nothing. The external keyboard doesn’t respond to anything (no caps lock >>>> nor num lock.) One mouse is in the USB 2.0 port, another and the external >>>> keyboard are in the USB 3.0 ports. >>>> >>>> on boot, I see the following: >>>> usbxhci: 0x1106 0x3483 port 600000000 size 0x1000 irq0 >>>> #u/usb/ep1.0: xhci port 0x0 irq 0 >>>> >>>> The line before is #l for the network, >>>> The line after is the detection of the other three cores. >>>> >>>> The changing of the enable_gic=1 on the 9front image seemed to have to >>>> effect. >>>> >>>> Thanks again! >>>> >>>> Mack >>>> >>>> >>>> On Jan 14, 2021, at 8:15 PM, Skip Tavakkolian <skip.tavakkol...@gmail.com> >>>> wrote: >>>>> >>>>> I'm using a RPi400 with Richard's port. I'm netbooting without issues and >>>>> up for days. The only issue I had was forgetting to set 'enable_gic=1' >>>>> as Richard instructed in the sources. Pi4 works ok without it, pi400 >>>>> doesn't. >>>>> >>>>> >>>>> On Thu, Jan 14, 2021, 3:39 PM Mack Wallace <mac...@mapinternet.com> wrote: >>>>> Thank you for the reply Stuart, but no luck. >>>>> >>>>> I did download Mr. Miller’s image. It would not boot at all until I >>>>> replaced the files that you mention, but the kernel in that image locks >>>>> up after detecting the fourth core of the CPU. However, from that failure >>>>> I learned that those files, (start_cd.elf, start4cd.elf, fixup_cd.dat, >>>>> fixup4cd.dat) are necessary for the Pi to boot, and that those with the >>>>> bootcode.bin and presumably, but it doesn’t seem to matter whether I use >>>>> bcm2711-rpi-4-b.dtb or bcm2711-rpi-400.dtb - the dtbs are vital to the >>>>> process. - and that all those files simply need to be copied into the fat >>>>> partition/boot directory. >>>>> >>>>> So I burned another image (actually many, trying different SD cards, and >>>>> different configurations, older kernels, etc) and replaced all the files >>>>> I’ve mentioned with the ones from >>>>> https://github.com/raspberrypi/firmware/tree/master/boot (hopefully >>>>> that’s where I should get them). My most recent iteration just has the >>>>> single error repeated: >>>>> >>>>> sdhc: read error intr 2008002 stat 1fff0000 >>>>> >>>>> This occurs many times. In the middle of these errors is >>>>> >>>>> /dev/sdM0: BCM SD Host Controller 02 Version 10 >>>>> >>>>> then the error repeats itself over 50 times before printing out the lines >>>>> /dev/sdM0/data >>>>> bootargs is (tcp, tls, il, local!device)[] >>>>> >>>>> At no time during this process is the keyboard or mouse responsive. >>>>> Though the mouse icon did become visible during the boot process. >>>>> >>>>> I am hoping I am wrong, but I am thinking there is some sort of driver >>>>> issue. At the very least, checking what media there is to mount, or >>>>> reading the SD card. And then possibly for other things, but the former >>>>> could be gumming up the works for everything else. >>>>> >>>>> >>>>>> On Jan 14, 2021, at 6:05 PM, Stuart Morrow <morrow.stu...@gmail.com> >>>>>> wrote: >>>>>> >>>>>> Try copying the .dtb *and* the start4 and fixup4. >>> >>> 9fans / 9fans / see discussions + participants + delivery options Permalink ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T0178132f3d2ed689-M4ea16344e3a69dd362d2644c Delivery options: https://9fans.topicbox.com/groups/9fans/subscription