Sgi o2 with pci usb FireWire card how do I use this?

siliboi

Member
Jan 4, 2021
82
12
8
Halifax Nova Scotia Canada
Does anyone know what I can plug into this/ what drivers I need?
I tried a couple usb sticks but they didn’t light up. I didn’t really expect them to work it was 32gb and I don’t even know what format o2 accepts.

any help would be dope!
 

weblacky

Active member
Jan 13, 2020
181
45
28
Seattle, WA
USB storage drivers were never put into Irix, give up on that. USB only works in late Origin 3000-arch models (Fuel, Tezro, etc) and ONLY supported Keyboard and mouse and I THINK USB audio. That's all.

Firewire is supposed to work on O2, Octane, and higher...however it MUST be the SGI firewire board, we've not seen consistent results with people trying to use the Firewire Adaptec clones (red boards). Most people just have crashes. Octane firewire has been pretty non-working for most people. O2 is the best bet for working firewire. Irix Firewire support DID include HDDs, but there have been some XFS crash issues with firewire HDDs noted. So, they aren't considered reliable at this time, that's why no one does it. Unless you're dumping DV tape, firewire functionality isn't stable enough to actually stream data to a HDD without an issue.
 
  • Like
Reactions: siliboi
Are you using the DM10 in the O2? While she might report in hinv, the necessary hardware branches it needs aren't built on the O2 or the Octane.

For the O2, there was a specific FW option, DVLink, and it was intended for controlling a deck or camera.

There are some photos of the specific card here: https://siliconimage.irixnet.org/index.php/User-Albums/chulofiasco/O2/60CB89AC-1E36-416C-BC9C-51DECF2FBF12

DM10 and DVLink both use different software packages as well, and those can be downloaded here: http://www.sgidepot.co.uk/depot/

You can read about me banging my head into the wall over all of this here: http://forums.irixnet.org/thread-1417.html

Feel free to reach out !
 
  • Like
Reactions: siliboi
Wait, so the card you're using has USB AND FW ports, and you're specifically trying to access the USB on the O2?

As far as IRIX and USB is concerned, I think it's only an option on machines like Fuel & Tezro (and other IP35 machines).

Check this out: https://gainos.org/~elf/sgi/nekonomicon/forum/3/9046/1.html and https://web.archive.org/web/20160319072211/http://forums.nekochan.net/viewtopic.php?t=10957

Also: https://rescue.sunhelp.narkive.com/ZhuphYbo/irix-and-usb

I think it's pretty much keyboard and mouse devices only. (https://nixdoc.net/man-pages/IRIX/man7/usb.7.html)

Code:
NOTES    [Toc]    [Back]

     The SGI USB implemtation is a partial implementation, intended to provide
     support for selected keyboards and    mice (see usbinput(7)) for Onyx3.
     Currently there is    no administrative command for individual device
     control, and there    is no support for devices other    than keyboard/mouse.

     Likewise, the usb infrastructure provides no published api    for the
     implentation of new usb drivers.

     Only controllers conforming to the    OpenHCI    spec are supported.
 
  • Wow
Reactions: siliboi

siliboi

Member
Jan 4, 2021
82
12
8
Halifax Nova Scotia Canada
Are you using the DM10 in the O2? While she might report in hinv, the necessary hardware branches it needs aren't built on the O2 or the Octane.

For the O2, there was a specific FW option, DVLink, and it was intended for controlling a deck or camera.

There are some photos of the specific card here: https://siliconimage.irixnet.org/index.php/User-Albums/chulofiasco/O2/60CB89AC-1E36-416C-BC9C-51DECF2FBF12

DM10 and DVLink both use different software packages as well, and those can be downloaded here: http://www.sgidepot.co.uk/depot/

You can read about me banging my head into the wall over all of this here: http://forums.irixnet.org/thread-1417.html

Feel free to reach out !
sm092503-01 asy90145-sun rev 04 pmd031114-01 made by smart penang? iee 1394 usb 2 device installed in a o2 that I just received. at bootup it says the device is not ready but when I do hinv after the computer boot it shows up as a dm10 fw option: unit 0, rev 1.10 so generic according to that thread.
I dont know if it has the drivers installed i'm doing that now with a tarball for dm10 I just assumed since the guy before me must have installed it in there he must have used it.

im surprised nobody has tried to implement usb storage
 

weblacky

Active member
Jan 13, 2020
181
45
28
Seattle, WA
Anything is possible with the FW, it's hit & miss. USB drivers physically aren't available on O2, that is all she wrote. If you get the FW drivers stable,let us know. Very few recorded examples of success are out there. And even after HINV reports good, lots of the firewire Utils end up crashing the driver anyway. But if you get stable operation please let us know.
 

siliboi

Member
Jan 4, 2021
82
12
8
Halifax Nova Scotia Canada
Anything is possible with the FW, it's hit & miss. USB drivers physically aren't available on O2, that is all she wrote. If you get the FW drivers stable,let us know. Very few recorded examples of success are out there. And even after HINV reports good, lots of the firewire Utils end up crashing the driver anyway. But if you get stable operation please let us know.
ya but I meant why hasnt anyone tried to port them from a tezro or fuel to o2's octanes etc.
 

weblacky

Active member
Jan 13, 2020
181
45
28
Seattle, WA
?What?, Port? Perhaps you're not aware that the O2 was made in like 1996, the Tezro was made in 2003. They have different architectures, just because they are MIPS doesn't mean all Irix drivers run on all Irix platforms (they absolutely don't). The Irix drivers for each machine series are DESIGNED to run ONLY on the support bare metal of those machine, SGI almost NEVER backported hardware support. Irix is extremely close to it's metal (that's why emulation is so hard).

If you literally tried copying them from a Tezro to an O2...it just say wrong IP ARCH version and that's it, it's not like people haven't tried that.

if you have the source code? Well please let me have a copy and I'd love that :) It's true that the concept of a USB subsystem (as primitive as Irix knew it) does exist in newer Irix kernel versions, NO USB PCI Card drivers were backported to O2 from SGI. So while a newer kernels know somewhat of USB, there are no supported USB adapters for O2 to make use of it.

Also O2 is 32bit, Tezro and Fuel are 64bit...another reason compiled drivers won't run.
 

siliboi

Member
Jan 4, 2021
82
12
8
Halifax Nova Scotia Canada
it’s not so much porting — when the kernel builds the devices in /hw/ it doesn’t build the proper nodes for Octane or O2
also any idea how to install this tarball? http://www.sgidepot.co.uk/depot/dmediapro_dm10_1.1beta.tar.gz I installed one in the spring when I emulated on mame but it was a makefile and I feel like I just used the make install command. but this doesnt seem to be that. Ive been googling how to install different tars on irix but havent come up with much.
 

siliboi

Member
Jan 4, 2021
82
12
8
Halifax Nova Scotia Canada
?What?, Port? Perhaps you're not aware that the O2 was made in like 1996, the Tezro was made in 2003. They have different architectures, just because they are MIPS doesn't mean all Irix drivers run on all Irix platforms (they absolutely don't). The Irix drivers for each machine series are DESIGNED to run ONLY on the support bare metal of those machine, SGI almost NEVER backported hardware support. Irix is extremely close to it's metal (that's why emulation is so hard).

If you literally tried copying them from a Tezro to an O2...it just say wrong IP ARCH version and that's it, it's not like people haven't tried that.

if you have the source code? Well please let me have a copy and I'd love that :) It's true that the concept of a USB subsystem (as primitive as Irix knew it) does exist in newer Irix kernel versions, NO USB PCI Card drivers were backported to O2 from SGI. So while a newer kernels know somewhat of USB, there are no supported USB adapters for O2 to make use of it.

Also O2 is 32bit, Tezro and Fuel are 64bit...another reason compiled drivers won't run.
indeed I just thought people might really want that so theyd backport it but ya without source that might be a bit tough. well well look at all this new info im learning.
 

weblacky

Active member
Jan 13, 2020
181
45
28
Seattle, WA
Also, it doesn't help that while Irix HAS programming manuals (and some good ones too), no USB or FirWire subsystems are described. They describe Network, SCSI, and filesystems. They don't cover graphics drivers or other buses. So really the bigger issue is, how was (whatever SGI wrote) represented in a kernel? We'd love to like, strip the source of a working Linux driver and port it into Irix's driver subsystem for an old PCI card with USB 2 or whatever. What do we touch in the driver to "attach it" to what Irix even thinks is USB?

I'm more to believe that SGI never actually designed the "concept" of a USB bus and instead wrote discrete drivers that emulated the peripherals they wanted (Keyboard, Mouse, and and an USB audio card...I think) while having COMPLETE control of the USB card (think like DOS?). and just emulated peripheral types from there, no intermediate subsystems.

I'd think the best we MIGHT be to write is a very generic USB card driver to work via PCI calls, then use it as SCSI DISK driver/controller driver and use it to emulate SCSI drives (along with hot-swap). I think that's the best anyone could hope to program in Irix using the existing documentation.

I don't think Irix has all these help notifications and buses and whatever to plugin events into. I think you'd just be your whole, own, subsystem in a single monolithic format that controls the USB card and directly consumes kernel interfaces for DEV representation of a HDD/volume and the like.

I guess if someone really had a great understanding on how Linux implement the USB stack, they could do the same thing in irix. But nothing is already there. You also have to understand what SGI was about, it was able really stable hardware, up for days on end, 24/7 usage. USB drives of the time would likely have flaked and had issues. Even thumbdrives aren't made to run long-term. So likely they didn't want the support calls and hassle of someone using cheap drives for like 3D work and complaining when they failed.

Tried and true here.
 
  • Love
Reactions: siliboi

siliboi

Member
Jan 4, 2021
82
12
8
Halifax Nova Scotia Canada
I got an isight to show up as a camera on my Octane desktop, and showed an IIDC connected in hinv, but I could never get it to initialize.

check out the IN thread above, and you’ll see what I was up to.
hey so I checked out that post and came across this:
So after poking around s’more, I’ve gone and done the following:

>>Using the HexEditor:
I modified libfw.so.1 in both the /usr/lib32 and /usr/lib64. There are three references to /hw/firewire/... I changed /hw/ to /fw/

In the Console:
Make a /fw/ directory in root and create a symlink to the xbow node location of the FireWire card named firewire.

Reboot the Machine

When the thing comes back up, you’ll find that the firewire commands are now controlling the hardware, but mlquery still fails to list the connected IIDC.

Any thoughts? <<
so you changed every mention of hw to fw in the libfw.so.1 and made a file called fw did you put anything in the fw file? how did you create the symlink to the xbow?
 

siliboi

Member
Jan 4, 2021
82
12
8
Halifax Nova Scotia Canada
hey so I checked out that post and came across this:
So after poking around s’more, I’ve gone and done the following:

>>Using the HexEditor:
I modified libfw.so.1 in both the /usr/lib32 and /usr/lib64. There are three references to /hw/firewire/... I changed /hw/ to /fw/

In the Console:
Make a /fw/ directory in root and create a symlink to the xbow node location of the FireWire card named firewire.

Reboot the Machine

When the thing comes back up, you’ll find that the firewire commands are now controlling the hardware, but mlquery still fails to list the connected IIDC.

Any thoughts? <<
so you changed every mention of hw to fw in the libfw.so.1 and made a file called fw did you put anything in the fw file? how did you create the symlink to the xbow? also how did you edit libfw.so.1 when i clic on it irix reports: could not find file typing rule.
 

siliboi

Member
Jan 4, 2021
82
12
8
Halifax Nova Scotia Canada
Here’s the data sheet for the controller that’s missing in that wiki: https://www.insidegadgets.com/wp-content/uploads/2013/10/VT6212L.pdf
awesome unfortunately I don't have this card but I may try it in the future it did give me a jump off point though for exploring my own card and maybe adapting the driver. My card is a :
8-Port USB Firewire PCI Card USB2 IEEE-1394 Smart 90145 sun rev 04
on another forum they were using them in g5's. Anyway I started looking on my pci bus to see where my card was.
find /hw/
and it came up with a few device id's I was looking for /hw/pci or /hw/unknown/pci and it came up with a few device codes and I looked them up on https://www.pcilookup.com/
103300e0 this is NEC Corporation uPD72010x USB 2.0 Controller <<
104c ac23 this is pci bridge
104c8024 this is Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) so this must be the pci controller
10330035 this is NEC Corporation OHCI USB Controller<<
90048078 this is Adaptec AIC-7880U

If you go to the pymbal fellas github on his main page he says:
I have looked at the Linux source code for the VIA 6212 for inspiration and verified that the card does in fact work under Linux/MIPS. You can’t of course lift the Linux or FreeBSD device driver directly but they can be sources of inspiration when you find something in your code not working and examine other source and ask “Why did they do it that way?”.

In these blog entries I will revisit some basic IRIX PCI device driver programming and extend the driver all the way up to USB classes and user space application programs to exercise the driver.

The IRIX (partial) USB implementation stops at the UHCI implementation. Developing a new driver that by-passes the current implementation, the driver can be extended to include EHCI and the whole range of USB class drivers.

so using this current driver as a guide usb 1 could be utilized. That's as far as I have gotten today. Now I just need to find a datasheet for my card to modify the driver.
 

About us

  • Silicon Graphics User Group (SGUG) is a community for users, developers, and admirers of Silicon Graphics (SGI) products. We aim to be a friendly hobbyist community for discussing all aspects of SGIs, including use, software development, the IRIX Operating System, and troubleshooting, as well as facilitating hardware exchange.

User Menu