Kernel modules for PCI USB hubs
#1
Kernel modules for PCI USB hubs
Hi all, 

some years ago I attempted to write a real, serious USB kernel module for IRIX with support for UHCI and EHCI.  

It detects a lot of PCI cards. Also detects the number of USB ports, and UHCI/EHCI number of interfaces. I developed a test tool that helps to detect the functionality of the kernel modules. Also some scripts for load/unload the kernel modules. 

So we have 3 kernel modules: 
uhci driver, 
ehci driver and
usb_core. 

The idea was to write mouse, keyboard and other stuff communicating with usb_core, who would take care of the low-level usb communications with the PCI cards. 

Unfortunately I was unable to handle the low level setup required to establish communications with the PCI card. I did all kind of attempts to setup the DMA addresses in the PCI card, and it caused panics when a real USB transmition is attempted. I never could figure out what was happening and passed hour and hours reading and studying the IRIX drivers developers manuals and source code for others PCI drivers. 

Finally I found the sources after years. I dunno if somebody else is doing a real effort, but here is my code. I hope somebody find this useful.


Attached Files
.tar usb_irix.06142013_00.tar Size: 4.21 MB  Downloads: 241
bsdero
O2

Trade Count: (0)
Posts: 6
Threads: 2
Joined: Jul 2018
Find Reply
03-02-2021, 05:53 PM
#2
RE: Kernel modules for PCI USB hubs
Wow, seriously generous of you to let us see your hard work. Completely understood that sometimes we hit a wall, no help, and have to move on to other things.

Each piece helps future efforts, thanks for allowing us to inspect it and learn from it.
weblacky
I play an SGI Doctor, on daytime TV.

Trade Count: (10)
Posts: 1,716
Threads: 88
Joined: Jan 2019
Location: Seattle, WA
Find Reply
03-02-2021, 08:04 PM
#3
RE: Kernel modules for PCI USB hubs
The le got sharing ! There are some hard workers amongst us that are very talented. Will be great if something beneficial comes from this..

Indigo2 IMPACT  : R10K-195MHz, 1GB RAM, 146GB 15K, CD-ROM, AudioDAT, MaxImpact w/ TRAM.  IRIX 6.5.22

O2 : R12K-400MHz, 1GB RAM, 300GB 15K, DVD-ROM, CRM Graphics, AV1/2 Media Boards & O2 Cam, DV-Link, FPA & SW1600.  IRIX 6.5.30

 : 2 x R14K-600MHz, 6GB RAM, V12 Graphics, PCI Shoebox.  IRIX 6.5.30

IBM  : 7012-39H, 7043-140

chulofiasco
Hardware Junkie

Trade Count: (0)
Posts: 328
Threads: 51
Joined: May 2019
Location: New York, NY
Website Find Reply
03-02-2021, 08:24 PM
#4
RE: Kernel modules for PCI USB hubs
Maybe I can continue helping. Unfortunately my old fuel looks like its failing and It's not booting. Not enough time to check it out what's happening.

However if somebody else want to check the code out and have questions, I would be glad to help, give answers and maybe write some code. I really would love to see a working USB stack in Irix.
(This post was last modified: 03-02-2021, 08:30 PM by bsdero.)
bsdero
O2

Trade Count: (0)
Posts: 6
Threads: 2
Joined: Jul 2018
Find Reply
03-02-2021, 08:29 PM
#5
RE: Kernel modules for PCI USB hubs
Hey BSDero, thanks for sharing this stuff. I'll message you shortly since we may have areas we can collaborate on.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
03-02-2021, 11:37 PM
#6
RE: Kernel modules for PCI USB hubs
(03-02-2021, 05:53 PM)bsdero Wrote:  Hi all, 

some years ago I attempted to write a real, serious USB kernel module for IRIX with support for UHCI and EHCI.  

...

Finally I found the sources after years. I dunno if somebody else is doing a real effort, but here is my code. I hope somebody find this useful.

So I was talking with some folks about this and the subject of a license came up.  Obviously the code has your copyright statements in it, so under what kind of license would this be given, or are you releasing this into the public domain, credit the source and it's a wrap?

Some kind of clarification or "yes, this is now in the public domain" would be really helpful.

Kindly advise

Indigo2 IMPACT  : R10K-195MHz, 1GB RAM, 146GB 15K, CD-ROM, AudioDAT, MaxImpact w/ TRAM.  IRIX 6.5.22

O2 : R12K-400MHz, 1GB RAM, 300GB 15K, DVD-ROM, CRM Graphics, AV1/2 Media Boards & O2 Cam, DV-Link, FPA & SW1600.  IRIX 6.5.30

 : 2 x R14K-600MHz, 6GB RAM, V12 Graphics, PCI Shoebox.  IRIX 6.5.30

IBM  : 7012-39H, 7043-140

chulofiasco
Hardware Junkie

Trade Count: (0)
Posts: 328
Threads: 51
Joined: May 2019
Location: New York, NY
Website Find Reply
03-09-2021, 09:28 PM
#7
RE: Kernel modules for PCI USB hubs
Hi,

The code is now in the public domain. People is free to use it and improve it in any way.

I open it with the best intention, but I will not take responsabilities if something goes wrong.

I wonder if you, guys, were able to check it?

I mean, did you built the code, and ran some tests?
(This post was last modified: 03-10-2021, 06:45 PM by bsdero.)
bsdero
O2

Trade Count: (0)
Posts: 6
Threads: 2
Joined: Jul 2018
Find Reply
03-10-2021, 06:42 PM
#8
RE: Kernel modules for PCI USB hubs
My caution about PD on this is someone wrapping it in GPL. I suggest that you release it under the MIT or another license, because GPL contamination is a legitimate concern. I don't expect bad faith actors doing that, but you shouldn't trust people to do the right thing unfortunately.

I'll add this to gitea and give you credits, and "unlicense" (Public Domain) mark it. But if it were mine I'd add some kind of license protection.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
03-10-2021, 08:36 PM
#9
RE: Kernel modules for PCI USB hubs
My understanding is that not every country on Earth has jurisprudence around "public domain", so it is not an enforceable legal concept in every place that matters.
For example, some countries have "unalienable authorship rights".
The Creative Commons 0 (CC0) license was created to allow you to waive as many rights as you possibly can across the world.

Personaliris O2 Indigo2 R10000/IMPACT Indigo2 R10000/IMPACT Indigo2 Indy   (past: 4D70GT)
robespierre
refector peritus

Trade Count: (0)
Posts: 640
Threads: 3
Joined: Nov 2020
Location: Massholium
Find Reply
03-10-2021, 08:47 PM
#10
RE: Kernel modules for PCI USB hubs
That too.

It's online here:

https://gitea.irixce.org/Nekoware-II/IRIX-USB

If solidcore, or I or anyone else fork it and work on it we'll probably apply an MIT license to our changes to protect the code.

Yes, if you've got a BSD or MIT licensed project, you can't just remove license notices (or indeed, license files) and wrap it in GPL. That will get you sued, and that's why BSD-licensed projects cannot be "stolen" like that.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
03-10-2021, 09:30 PM


Forum Jump:


Users browsing this thread: 1 Guest(s)