RK3288 initial rants
Jeffrey Lee (213) 6048 posts |
Yeah, over the years there have been a few changes to the way the controller drivers interface with USBDriver. So if you need to stick with the old version of DWCDriver then you’ll have to check the history and try and merge in those changes. |
Michael Grunditz (467) 531 posts |
Yes I know.. I am now in sync with versions , as you may have noticed. |
Rick Murray (539) 13840 posts |
How are you tracing and debugging this? JTAG? |
Michael Grunditz (467) 531 posts |
Just standard RO debug. How can this happen? |
Michael Grunditz (467) 531 posts |
Without debug (the error message is for Pi?) it continues after a lot of retries.. But the amount of Interrupts doesn’t seem right :) It toggles the Intrrupt which probably mean it enters the handler once in a while. *usbbuses |
Michael Grunditz (467) 531 posts |
I am stuck. It is the dequeuing that fails, and DWC reports timeouts , channel busy because of that. |
Michael Grunditz (467) 531 posts |
BAH! I reverted to the unaltered (by mistake) 0.4 and USB is working! Or… it finds the devices. Hotplug works , but it doesn’t match anything except hub. Ehem I was wrong! It detects my keyboard, but I don’t get any cursor and can’t type anything. And now I can type! It helps to have the keyboard module :) Also what is the filesystem I should use for USB? SCSI softusbscsi? I have a formated bootable usb stick connected, but I can’t access it edit again, I included scsiswitch and now it tries to access the usb stick, but hangs on it. How should I proceed? Also no trace of mouse pointer. |
Jeffrey Lee (213) 6048 posts |
You’ve probably already worked this out, but you also need to disable the DebugTerminal option in Kernel.hdr.Options for the keyboard to work at the command line.
FileCore, SCSISwitch, SCSISoftUSB, SCSIFS, SCSIFiler. Although at this point you could probably just enable all the standard ROM modules – the only thing which the system absolutely needs is the HAL timer, for everything else the individual modules should fail gracefully (e.g. you can put the audio modules in the ROM right now, all that will happen is that SoundDMA will refuse to start because it won’t be able to find any audio HAL device)
Change your GraphicsV 8 implementation so that it doesn’t set the “supports hardware pointer” flag. |
Michael Grunditz (467) 531 posts |
Ok. Timer is working … The usb key lights up (blink) when I try to access it, but the system freezes. If I remove the usbstick it comes back. The Desktop startup error is from Fontmanager , if I disabled that it went on and stopped at Taskmanager. And if I pressed quit I got a grey screen. This is my flags #2_101100 ,, no hw cursor. |
Jeffrey Lee (213) 6048 posts |
Does your video driver signal VSyncs via GraphicsV 1? If not, you’ll want the “no vsyncs generated” bit set (bit 4). That might explain why the mouse pointer isn’t appearing, and maybe why the system hangs when the USB stick is accessed (pointer updates are done from VSync, and the hourglass will sometimes try waiting for vsync). Entering WAIT in BASIC is a good test, if that hangs then the OS is waiting for a VSync signal which hasn’t arrived. |
Michael Grunditz (467) 531 posts |
Yes vsync was the thing. scsi works now, but very unstable. And it doesn’t boot. Early in this project it printed scsifs and defaulted to that filesystem. Also filecore stopped booting (wait for bootdisk). Now none of those things happens. Desktop fails in the same way as before. I am building with all modules now. The instability is because of powerfailure, when I start usb from u-boot , it becomes stable. There are no clocks related according to linux devs. |
Rick Murray (539) 13840 posts |
Can you *ChangeDynamicArea from the command line? Does Hourglass do what is expected of it? |
Michael Grunditz (467) 531 posts |
Rick, keyboard mouse works , I can press on the buttons on the error window. But I don’t see any pointer, but I guess thats normal. OH now I get it! I used ChangeDynamicArea to set big fontsize.. and it worked! I can start desktop.. but unfortunately I cant see the lower end of the screen. However ctrl-f12 worked and I get a taskwindow. Thanks! |
Jeffrey Lee (213) 6048 posts |
Ah – the other thing you need to do for the OS to use a software mouse pointer is to not claim GraphicsV 5 (i.e. exit with R4 unchanged). The flags returned by GraphicsV 8 act as a hint that the kernel should allocate memory for the software pointer, while the behaviour of GraphicsV 5 determines whether the software pointer should be displayed for any particular pointer state (since the feature evolved for the Pi & iMX6 where for large screen modes you can only have a hardware pointer on some parts of the screen) |
Michael Grunditz (467) 531 posts |
http://www.update.uu.se/~micken/rodesktop.jpg !! =) Booted up with !Boot I just had the wrong screensize. Jeffery , I am not sure what you mean but I will look into it. |
Michael Grunditz (467) 531 posts |
Haha. I fixed the mouse thing. I can now use the system! |
Michael Grunditz (467) 531 posts |
I tried EtherUSB copied from my workstation.. undefined instruction. It seems like the files gone missing from the site (ETherUSB) Do I need anything special to load etherusb? |
Jeffrey Lee (213) 6048 posts |
Possibly the SWP instruction? If you get any more errors like that it would be good to check what the instruction is, as you’re the first person to run RISC OS on Cortex-A17, so there may be some instruction set issues which we haven’t dealt with yet. Old versions of EtherUSB used SWP, new versions (0.36 and newer) should prefer LDREX/STREX if they’re available. So the version of EtherUSB that’s in CVS should work fine. The kernel should report the availability of SWP & LDREX/STREX via OS_PlatformFeatures 0. But, since you’re the first person to run on Cortex-A17, maybe the kernel is reporting the information wrong (e.g. if SWP is supported by the CPU, but u-boot has disabled the instruction, I think the kernel will mistakenly report SWP as being available). So it would be good to check for that when you get a chance, otherwise other software might get confused.
For the past few years, ROOL CVS has been the (official?) home of the sources: https://www.riscosopen.org/viewer/view/bsd/RiscOS/Sources/Networking/Ethernet/EtherUSB/ You can easily include the module in the ROM – Pi & OMAP machines do this since they have USB ethernet onboard. |
Michael Grunditz (467) 531 posts |
It worked. Sorry for poluting the forum , but I am so happy tonight. |
Clive Semmens (2335) 3276 posts |
Sorry? SORRY? With pollution like that, who needs a pristine environment? (A blank forum…) Huge congrats on a great job, Michael. & of course huge thanks to Jeffrey for his unstinting support to all of us. |
Steve Pampling (1551) 8170 posts |
Sorry? As Clive said: Congratulations. Some people must of course be wondering how similar the RK3288 board is to the board in the ARM based Asus Chromebook Flip C100P |
Michael Grunditz (467) 531 posts |
Very similar. My code this far runs on all rk3288 hw that can run u-boot. The most obvious thing needed is a LVDS driver. |
Steve Pampling (1551) 8170 posts |
After a few other general net queries there are other models so assuming1 a hack to get the Chromebook to not load ChromeOS and load RO instead there could be a range of RO laptops available… bq.The most obvious thing needed is a LVDS driver. Technically that’s FPD-Link / FlatLink I think and is likely to be a requirement for pretty much any available ARM based laptop machine. 1 Big assumption there, but hey the sun is shining, I have beer and I can dream. |
Michael Grunditz (467) 531 posts |
There are u-boot for chromebooks. So it should just work if I do a LVDS driver. |
Michael Grunditz (467) 531 posts |
Oh I just noticed that piTop v2 is supposed to work with tinkerboard! Gimmie!! Or a v1 might be better if the board fits , less custom hw if I can read right. |