VOGONS


TinyLlama (Vortex86EX SBC)

Topic actions

Reply 140 of 659, by Eivind

User metadata
Rank Oldbie
Rank
Oldbie
Deksor wrote on 2022-11-04, 15:33:

Do you think the next revision could have USB C for power ? Getting high power from that is usually easier with that especially now (and in my experience the cables are more durable)

Yep, that's already on the list! 😉

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 141 of 659, by florian3

User metadata
Rank Newbie
Rank
Newbie

I found another hub without external power and that also worked here. I also supplied power directly to the mouse and it made no difference.
Added some more logging to the bios code but I'm hesitant to make real changes because I have no way to flash a working bios if I break USB...
I do get a single mouse event and then nothing.
The problem might be more with the controller in the som-128-ex than with the bios but I'm mostly guessing and don't know much about USB.
Ordered another small hub (https://www.amazon.com/gp/product/B005HKIDF2).

Reply 142 of 659, by rasteri

User metadata
Rank Member
Rank
Member
Eivind wrote on 2022-11-04, 15:48:

Oh no, poor little guy! Couldn't handle his 12 volts! 😀 Do you order them from DMP or somewhere else?

Yeah DM&P.

I've found USB mouse support to be flakey on other Vortex86 SoCs (that's why I put PS/2 on the weecee). It causes intermittent crashes rather than outright failures, though - so I wonder if that's maybe a BIOS thing.

The EX's crossbar can be configured to break out PS/2 keyboard and mouse. USB keyboard/mouse support might have to be disabled in the BIOS to allow this (I had issues when testing).

Also the version of coreboot provided by DM&P is rather old, maybe the Vortex-specific changes could be diff'd out and ported to the latest version of coreboot?

Reply 143 of 659, by Eivind

User metadata
Rank Oldbie
Rank
Oldbie
rasteri wrote on 2022-11-05, 15:12:
Yeah DM&P. […]
Show full quote
Eivind wrote on 2022-11-04, 15:48:

Oh no, poor little guy! Couldn't handle his 12 volts! 😀 Do you order them from DMP or somewhere else?

Yeah DM&P.

I've found USB mouse support to be flakey on other Vortex86 SoCs (that's why I put PS/2 on the weecee). It causes intermittent crashes rather than outright failures, though - so I wonder if that's maybe a BIOS thing.

The EX's crossbar can be configured to break out PS/2 keyboard and mouse. USB keyboard/mouse support might have to be disabled in the BIOS to allow this (I had issues when testing).

Also the version of coreboot provided by DM&P is rather old, maybe the Vortex-specific changes could be diff'd out and ported to the latest version of coreboot?

Haha, I'm already one step ahead (sort of). I've been spending most of today trying to get different builds of SeaBIOS running. I don't think Coreboot is the issue here, and since they dropped support for the Vortex86EX way back, I'm keeping that as-is.
The core of our problem seems to be SeaBIOS's OHCI (USB 1.1) support - when connecting EHCI (USB 2.0) devices, they are recognized and set up properly. That also explains why hubs with connected mice work - the hubs themselves are EHCI and handle the communication to the computer, even though the devices connected to the hubs are USB 1.1.
I'm so happy I have my hardware programmer with the SOP8-clip, I've bricked the rom so many times today! 😁

And talking about real PS/2, yeah I used that for my very first prototype with the EX chip, worked perfectly. Thinking I'll bring that back in the next revision, even if I can somehow manage to get the OHCI stuff working.

Last edited by Eivind on 2022-11-06, 11:40. Edited 1 time in total.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 145 of 659, by Deksor

User metadata
Rank l33t
Rank
l33t

Well apparently DMP is sold out on the Vortex86EX SOM-128-EX. The SOM128EX-1G-86 version is still available though I guess it's victim of its success 😁

Trying to identify old hardware ? Visit The retro web - Project's thread The Retro Web project - a stason.org/TH99 alternative

Reply 146 of 659, by florian3

User metadata
Rank Newbie
Rank
Newbie
Deksor wrote on 2022-11-05, 20:52:

Well apparently DMP is sold out on the Vortex86EX SOM-128-EX. The SOM128EX-1G-86 version is still available though I guess it's victim of its success 😁

They still have the 128GB module on the 86Duino ZERO board.

Reply 147 of 659, by Eivind

User metadata
Rank Oldbie
Rank
Oldbie

Update on mice:
After spending hours and hours trying to figure this out, here's where I'm at:

Hardware: I really do think the fuses are alright, I'd recommend keeping them there for anyone trying to put this board together. Just make sure they're properly soldered, especially F1 - there's a fair amount of current running through that one.
According to spec, there should really be a nice fat bulk capacitor across 5V and GND right next to the output USB connector. This is so that power-hungry USB devices won't mess with the 5V rail on the computer. I'll put that in in the next revision of the board, but for all my testing it didn't make any difference (I used a good quality 330uF polymer cap).

Software: There has been quite a change in the USB-related files in SeaBIOS from the 2013-version my BIOS is more or less a fork of to the current one. I managed to get the newest one running, and experimented with dozens of changes to timings, doing extensive logging and trying to figure out what's going on.
My findings points to EHCI devices working perfectly (including OHCI mice connected to EHCI hubs), as well as OHCI mice connected directly that identifies as USB 2.0 compliant (bcdUSB == 0200). OHCI mice with bcdUSB == 0110 is a no-go, I get a single event (same as florian3), then nothing. No errors, just no more events. I haven't been able to debug this further, although I'm sure that could be done by someone more familiar with USB than me.
I should put in a disclaimer that all of my testing was done with a pretty limited amount of devices, so take all of this with a grain of salt.

As to why the OHCI stack seems so flaky, I'm just not sure. It might be the SeaBIOS code not being properly set up, it might be a low-level Coreboot v86ex code issue, or it just might be the chip itself not having good OHCI support. This last theory is somewhat backed up by rasteri's similar experience on other Vortex chips, using completely different BIOSes.

Bottom line, for now: some mice work just fine connected directly to the board, some require a USB 2.0 hub.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 148 of 659, by rasteri

User metadata
Rank Member
Rank
Member

I've done a lot of work with USB HID devices for my HIDman project so I'll take a look at it when I get a replacement module.

Might be worth testing seabios in QEMU to see if the same mice fail there too

Reply 149 of 659, by Eivind

User metadata
Rank Oldbie
Rank
Oldbie
rasteri wrote on 2022-11-06, 12:24:

I've done a lot of work with USB HID devices for my HIDman project so I'll take a look at it when I get a replacement module.

Might be worth testing seabios in QEMU to see if the same mice fail there too

Whoa, what a great project!! 😁 Have you thought about integrating that on your weeCee? PS/2 is nice and all, but having the ability to use modern USB mice and keyboards (without that apparent DMP OHCI crap) sounds even better!

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 150 of 659, by rasteri

User metadata
Rank Member
Rank
Member
Eivind wrote on 2022-11-06, 13:12:

Have you thought about integrating that on your weeCee?

Yeah that was kinda the genesis of the project. If we don't figure out this BIOS thing I'd suggest it as another option. The chip's only like $1.00

Reply 151 of 659, by Eivind

User metadata
Rank Oldbie
Rank
Oldbie
rasteri wrote on 2022-11-06, 21:10:
Eivind wrote on 2022-11-06, 13:12:

Have you thought about integrating that on your weeCee?

Yeah that was kinda the genesis of the project. If we don't figure out this BIOS thing I'd suggest it as another option. The chip's only like $1.00

Have you gotten it to work 100%? Keyboard and mouse? If so, this actually seems like a much better solution for my project as well, since Windows 98 does _not_ like the BIOS-emulated PS/2 mouse in my experience.
Also, could this chip be used to control the joystick inputs of the Crystal chip? By using one or two digital pots over SPI perhaps?

Edit: The MCP42100 or 2xMCP41100 looks promising, combined with the required resistors and caps according to the Crystal datasheet/reference design. Is there enough IO on the GH559 for this?

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 152 of 659, by Duffman

User metadata
Rank Member
Rank
Member

@Eivind @rasteri

I'm curious to find out if I'll see the same issues when using my Orico AT2U3-10AB powered USB 3.0 hub.

Is there any consistency to the mouse issues at all?
does it happen in both DOS and windows?
does it crash the whole system? or just the mouse?

MB: ASRock B550 Steel Legend
CPU: Ryzen 9 5950X
RAM: Corsair 64GB Kit (4x16GB) DDR4 Veng LPX C18 4000MHz
SSDs: 2x Crucial MX500 1TB SATA + 1x Samsung 980 (non-pro) 1TB NVMe SSD
OSs: Win 11 Pro (NVMe) + WinXP Pro SP3 (SATA)
GPU: RTX2070 (11) GT730 (XP)

Reply 153 of 659, by florian3

User metadata
Rank Newbie
Rank
Newbie

Letting a single MCU handle keyboard, mouse and joysticks would be nice and it would allow remapping buttons across devices.

Are digipots with 8bit precision enough for analog joystick input?

Reply 154 of 659, by Eivind

User metadata
Rank Oldbie
Rank
Oldbie
Duffman wrote on 2022-11-07, 01:07:

I'm curious to find out if I'll see the same issues when using my Orico AT2U3-10AB powered USB 3.0 hub.

I believe this would work just fine. My testing with another USB 3.0 hub (Orico P10-U3) was a success, at least.

Duffman wrote on 2022-11-07, 01:07:

Is there any consistency to the mouse issues at all?
does it happen in both DOS and windows?
does it crash the whole system? or just the mouse?

My limited findings only points to the USB1.1/2.0 compliancy of the mouse. This has nothing to do with either DOS or Windows, though - debugging the BIOS shows that for some mice (which I suspect might be only an issue with USB1.1-only-compliant mice, as I wrote in an earlier post), there are simply no USB events being received - which means there can't be any emulated PS/2 events for the BIOS to create for the OS to read either. There are no crashes or anything, just no mouse input.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 155 of 659, by rasteri

User metadata
Rank Member
Rank
Member
Eivind wrote on 2022-11-06, 22:08:

Have you gotten it to work 100%? Keyboard and mouse?

There's a couple of things still to be implemented (Keyboard LEDs, mouse scroll wheel) but it's 100% stable as far as I can test.

Also, could this chip be used to control the joystick inputs of the Crystal chip? By using one or two digital pots over SPI perhaps?

Edit: The MCP42100 or 2xMCP41100 looks promising, combined with the required resistors and caps according to the Crystal datasheet/reference design. Is there enough IO on the GH559 for this?

Yes, there is enough I/O for a digipot - but theoretically we shouldn't even need one to drive the analog joystick inputs. Because the gameport analog circuit is effectively just a monostable timer, it should be possible to trick it into reading different "analog" values by varying the timing of a logic-high pulse.

Reply 156 of 659, by Eivind

User metadata
Rank Oldbie
Rank
Oldbie
rasteri wrote on 2022-11-07, 12:32:

There's a couple of things still to be implemented (Keyboard LEDs, mouse scroll wheel) but it's 100% stable as far as I can test.

That's great!

rasteri wrote on 2022-11-07, 12:32:

Yes, there is enough I/O for a digipot - but theoretically we shouldn't even need one to drive the analog joystick inputs. Because the gameport analog circuit is effectively just a monostable timer, it should be possible to trick it into reading different "analog" values by varying the timing of a logic-high pulse.

Ah yes, of course! Even better!

Looking at the schematic of your HIDman, am I reading it correctly in that you'd ground pin 4.6 while powering it on to bring it into bootloader mode where you can program it over one of the USB ports connected?

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 157 of 659, by rasteri

User metadata
Rank Member
Rank
Member
Eivind wrote on 2022-11-07, 13:03:

Looking at the schematic of your HIDman, am I reading it correctly in that you'd ground pin 4.6 while powering it on to bring it into bootloader mode where you can program it over one of the USB ports connected?

Exactly. I use a USBA-to-USBA cable, OTG style. But it also supports serial programming, so if you hooked it up to the Vortex's UART I think you could program it directly...

Reply 158 of 659, by Pantheon

User metadata
Rank Newbie
Rank
Newbie

Hi Eivind,

I wanted to let you know that I have received the TinyLiama PCB + parts and have successfully got my board up and running!
The SMD parts were actually much easier to solder than I had expected, so not sure if my skills are improving or I just got lucky 😁

What a delight to turn on the board and hear the OPL and soundblaster audio working without any issues!

I do have one question that I wasn't able to find an answer too on the github page.
I have been trying to use the RS232 serial port with my serial mouse but have so far been unable to get it working in any games.
I can see the RX LED on the PCB light up as I move the mouse around and CTMouse seem to find a COM port at COM1.

Whats the COM port and IRQ for the RS232 port?
I haven't yet tried any USB mice, but I'll try that this evening too.

PS: for you benefit this was the PCB that you shipped over to Edinburgh, Scotland 😉

Cheers

Attachments

Reply 159 of 659, by Eivind

User metadata
Rank Oldbie
Rank
Oldbie
Pantheon wrote on 2022-11-07, 14:43:

I wanted to let you know that I have received the TinyLiama PCB + parts and have successfully got my board up and running!
The SMD parts were actually much easier to solder than I had expected, so not sure if my skills are improving or I just got lucky 😁
What a delight to turn on the board and hear the OPL and soundblaster audio working without any issues!

That's awesome! Good to hear you're enjoying it! 😀

Pantheon wrote on 2022-11-07, 14:43:
I do have one question that I wasn't able to find an answer too on the github page. I have been trying to use the RS232 serial p […]
Show full quote

I do have one question that I wasn't able to find an answer too on the github page.
I have been trying to use the RS232 serial port with my serial mouse but have so far been unable to get it working in any games.
I can see the RX LED on the PCB light up as I move the mouse around and CTMouse seem to find a COM port at COM1.

Whats the COM port and IRQ for the RS232 port?
I haven't yet tried any USB mice, but I'll try that this evening too.

The DE9M / RS232 connector is set up on IO port 0x3F8 (COM1 in DOS), IRQ 4.
I'm not that familiar with serial mice, but I know there are different versions of CuteMouse that work somewhat differently. Try experimenting with these and their command line arguments?

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC