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

Reply via email to