Nekochan Net

Official Chat Channel: #nekochan // irc.nekochan.net
It is currently Sat Oct 25, 2014 1:37 pm

All times are UTC - 8 hours [ DST ]


Forum rules


Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.



Post new topic Reply to topic  [ 159 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 11  Next
Author Message
 Post subject:
Unread postPosted: Mon Aug 02, 2004 11:52 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Jan 23, 2003 2:31 am
Posts: 7984
Location: Pleasanton, California
I picked up an old Alteon ACENIC 10/100/1000 copper card on for $24.50 to play around with. IRIX doesn't recognize it of course.

I think there may be a couple of problems getting one to work, depending on how these cards are set up. First off the driver needs to be aware of the card so it will show up in a 'hinv' as eg0 - this may be possible using the same method as the Indigo2 ethernet hack. The second problem would be the firmware - from the egconfig man page:

Code:
DESCRIPTION
     egconfig is executed at system startup time to download the firmware for
     each gigabit Ethernet (''egN'') interface configured into the system.
     After egconfig executes, it is still necessary to use ifconfig(1M) to
     configure protocol addresses and other parameters.

     egconfig is run automatically at system startup.  It is also used to turn
     flow control and link negotiation on and off.


I'm interpreting this to mean that some of the driver itself is stored in firmware and downloaded into IRIX via this command, sort of like how OpenFirmware enabled cards work on Macintosh and Sun platforms. (Edit: Seems to not be the case after all)

Anyway, as an FYI just in case here is the 'hinv' output on the raw PCI device:

Code:
PCI Adapter ID (vendor 0x12ae, device 0x0002) PCI slot 1


Vendor ID 0x12ae Device 0x0002 describes the 3C986-T Alteon Copper Gigabit Ethernet Adapter according to this page:

http://www.pcidatabase.com/vendor_details.php?id=1209

It would be interesting to see what the SGI version of this card reports.

Edit: Small update - digging through the source for the Linux driver, I found the SGI device IDs:

Code:
#define PCI_VENDOR_ID_SGI               0x10a9
#define PCI_DEVICE_ID_SGI_ACENIC        0x0009


http://www.pcidatabase.com/vendor_details.php?id=553

Vendor/device IDs for other brands of the Alteon ACENIC can be found in the driver source as well.

_________________
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.


Last edited by nekonoko on Mon Aug 02, 2004 2:03 pm, edited 2 times in total.

Top
 Profile  
 
 Post subject:
Unread postPosted: Mon Aug 02, 2004 1:21 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Jan 23, 2003 2:31 am
Posts: 7984
Location: Pleasanton, California
Okay, it seems to be up and working now. I'll do some testing to make certain there aren't any issues with it.

Here's what I did:

The Alteon driver file for IP30 is:

/usr/cpu/sysgen/IP30/IP30boot/if_eg.o

This location will vary of course depending on your machine arch. I'll probably be modifying this driver on IP27 so I can run Nekochan off the gigabit in the near future.

First, locate the PCI IDs as described above:

Code:
[Koyori:cpu/sysgen/IP30boot] neko 22% od -x if_eg.o | grep 10a9
0017360 665f 6567 2e6f 0000 2404 10a9 2405 0009


Aha, both the SGI vendor ID 10a9 and ACENIC device ID 0009; pretty obvious (note the 2405 between them). Edit these two values to 12ae and 0002 if you have an original Alteon; these IDs will be different for the 3com, Netgear and Farallon versions of this card. The PCI vendor/device IDs for all of these can be pulled from the acenic.c Linux driver or gleaned from hinv -vm if you install the card beforehand. I used HexEdit under Mac OS X to edit the file for convenience.

Reboot twice - first time around will reconfigure the kernel with the new module, second boot will load it.

Code:
[Koyori:~] neko 17# hinv -vm
Location: /hw/node
      PM20250MHZ Board: barcode GRB946     part 030-1286-002 rev  B
Location: /hw/node/xtalk/15
            IP30 Board: barcode LMB370     part 030-1467-001 rev  D
Location: /hw/node/xtalk/15/pci/2
    PWR.SPPLY.ER Board: barcode AAE1240501 part 060-0035-003 rev  A
             FP1 Board: barcode LZN649     part 030-0891-003 rev  H
Location: /hw/node/xtalk/13
        XTALKPCI Board: barcode HPT350     part 030-0952-005 rev  D
Location: /hw/node/xtalk/11
          ODY128 Board: barcode LKA451     part 030-1404-003 rev  A
2 300 MHZ IP30 Processors
Heart ASIC: Revision F
CPU: MIPS R12000 Processor Chip Revision: 2.4
FPU: MIPS R12010 Floating Point Chip Revision: 0.0
Main memory size: 2048 Mbytes
Xbow ASIC: Revision 1.4
Instruction cache size: 32 Kbytes
Data cache size: 32 Kbytes
Secondary unified instruction/data cache size: 1 Mbyte
Integral SCSI controller 0: Version QL1040B (rev. 2), single ended
  Disk drive: unit 1 on SCSI controller 0 (unit 1)
  Disk drive: unit 2 on SCSI controller 0 (unit 2)
Integral SCSI controller 1: Version QL1040B (rev. 2), single ended
  CDROM: unit 6 on SCSI controller 1
Integral SCSI controller 3: Version QL1080, low voltage differential
Integral SCSI controller 4: Version QL1080, low voltage differential
IOC3/IOC4 serial port: tty1
IOC3/IOC4 serial port: tty2
IOC3 parallel port: plp1
Graphics board: V8
Integral Fast Ethernet: ef0, version 1, pci 2
Gigabit Ethernet: eg0, PCI slot 1, firmware version 12.4.10
Iris Audio Processor: version RAD revision 12.0, number 1
  PCI Adapter ID (vendor 0x10a9, device 0x0003) PCI slot 2
  PCI Adapter ID (vendor 0x1077, device 0x1020) PCI slot 0
  PCI Adapter ID (vendor 0x1077, device 0x1020) PCI slot 1
  PCI Adapter ID (vendor 0x10a9, device 0x0005) PCI slot 3
  PCI Adapter ID (vendor 0x12ae, device 0x0002) PCI slot 1
  PCI Adapter ID (vendor 0x1077, device 0x1080) PCI slot 2
  PCI Adapter ID (vendor 0x1077, device 0x1080) PCI slot 3


And finally:

Code:
[Koyori:~] neko 1% ifconfig -v eg0
eg0: flags=8c15c43<UP,BROADCAST,RUNNING,FILTMULTI,MULTICAST,CKSUM,DRVRLOCK,LINK0,IPALIAS,HIGHBW,IPV6>
        inet 64.81.247.23 netmask 0xffffff00 broadcast 64.81.247.255
        recvspace 196608 sendspace 196608
        speed 1000.00 Mbit/s full-duplex


Does it work? Seems to - have to do more testing with it. I emphasize this was done with an original Alteon which is more likely to match the older SGI OEM hardware - the newer 3com, etc. revisions may or may not work. Hope this helps someone.

_________________
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.


Last edited by nekonoko on Tue Aug 03, 2004 12:03 am, edited 2 times in total.

Top
 Profile  
 
 Post subject:
Unread postPosted: Mon Aug 02, 2004 2:11 pm 
Offline
User avatar

Joined: Thu Nov 27, 2003 1:30 pm
Posts: 547
Location: london
Quote:
I'm interpreting this to mean that some of the driver itself is stored in firmware and downloaded into IRIX via this command, sort of like how OpenFirmware enabled cards work on Macintosh and Sun platforms. (Edit: Seems to not be the case after all)


More likely the other way around - IRIX pushes some stuff onto the card. NICs seem to be getting more and more programmable, proper hardware multicast filters etc. The graphics drivers do this kind of thing too, of course. Good work!


Top
 Profile  
 
 Post subject:
Unread postPosted: Mon Aug 02, 2004 2:49 pm 
Offline
User avatar

Joined: Mon Nov 17, 2003 10:23 pm
Posts: 1622
Location: Buffalo, NY
Good show!

The next question is how well one of those non-SGI cards will hold up when you start hammering on them... That's why SGI made their proprietary one, according to what I've heard recently, anyway.

Chris


Top
 Profile  
 
 Post subject:
Unread postPosted: Mon Aug 02, 2004 2:50 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Jan 23, 2003 2:31 am
Posts: 7984
Location: Pleasanton, California
lewis wrote:
Quote:
I'm interpreting this to mean that some of the driver itself is stored in firmware and downloaded into IRIX via this command, sort of like how OpenFirmware enabled cards work on Macintosh and Sun platforms. (Edit: Seems to not be the case after all)


More likely the other way around - IRIX pushes some stuff onto the card. NICs seem to be getting more and more programmable, proper hardware multicast filters etc. The graphics drivers do this kind of thing too, of course. Good work!


That's what I was hoping, but the man page wording is a bit vague. It does indeed seem to push firmware to the card as the firmware version changed from 0.0.0 to 12.4.10 once I set up networking on the card.

_________________
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.


Top
 Profile  
 
 Post subject:
Unread postPosted: Tue Aug 03, 2004 2:42 am 
Offline
User avatar

Joined: Thu Jun 17, 2004 11:35 am
Posts: 3926
Location: Wijchen, The Netherlands
The topic of non-SGI branded gigbit adapters was discussed on comp.sys.sgi a few times:

http://www.google.com/groups?hl=en&lr=& ... 26rnum%3D6
and

http://www.google.com/groups?hl=en&lr=& ... 26rnum%3D6
Quoting:

Code:
> I know it's unlikely, but has anyone managed to use a non-sgi AceNIC based
> Gigabit card under Irix?

I can assure you there are already enough problems getting IRIX to jump
around firmware/hardware quirks in these NICs when you *do* have control
over which spin of boards and firmware you have --

-- i.e., in my experience, very unlike what you'd expect from having
seen other PCI cards for which the generic variant more or less works,
you could very well *really* end up with something that not only is
unsupported, but also doesn't work (or at least not unless you want to
tolerate silent data corruption under certain conditions).

--
Alexis Cousein    Senior Systems Engineer
SGI Belgium and Luxemburg  al@brussels.sgi.com


I also remember somebody commenting on how certain revs. of some boards had hardware/firmware endian issues. So, they wouldn't work on an mips/irix because they had been developed/tested only on peecees.

So, it appears to work for you, and I guess you don't care about a lack of support, but you'd better stress test it thoroughly before you put it into production...

PS: How do I keep the width of this page reasonable without breaking the URL's :?:

EDIT: url wrap -- thanks Neko.


Last edited by jan-jaap on Wed Aug 04, 2004 2:38 am, edited 1 time in total.

Top
 Profile  
 
 Post subject:
Unread postPosted: Tue Aug 03, 2004 3:56 am 
Offline
User avatar

Joined: Mon May 19, 2003 11:10 am
Posts: 81
Location: Amsterdam, The Netherlands
I have done some digging as wel but neko beat me to it. The firmware for the card in loaded onto the card by the driver. So you are actualy running the sgi firmware.

Both card look exactly the same. I suspect that all sgi did is change the pci vendor id.


Top
 Profile  
 
 Post subject:
Unread postPosted: Tue Aug 03, 2004 5:31 am 
Offline
User avatar

Joined: Mon Nov 17, 2003 10:23 pm
Posts: 1622
Location: Buffalo, NY
Neko, could I (and others that are looking to do the same thing would like to know too, I'm sure) impose on you to post a close-up shot of the front and back of the card, so we can see which cheapo card you were able to get working?

Thanks in advance, and good luck with the testing! Have any multi-gigabyte gz'd files you can throw around and run integrity checks on after they've been transferred?



Chris


Top
 Profile  
 
 Post subject:
Unread postPosted: Tue Aug 03, 2004 6:15 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Jan 23, 2003 2:31 am
Posts: 7984
Location: Pleasanton, California
Sure, I'll try and get high res images done as soon as I can - I posted a couple of 640x480 shots of the card in the hardware gallery under 'Third Party Hardware'.

I'll be testing it heavily once I get back from vacation in a couple weeks - I'm kind of in a holding pattern until then.

_________________
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.


Top
 Profile  
 
 Post subject:
Unread postPosted: Tue Aug 03, 2004 6:27 am 
Offline
User avatar

Joined: Thu Apr 03, 2003 12:31 pm
Posts: 603
Location: Maryland
With this new info I'm going to try and get the GigE cards that I have recognized in my O200. It's the same as the SGI branded one in the Third Party Hardware Gallery (the fibre one). I've got a couple sitting around and will hopefully be able to test them tonight. I let you all know what I find.

_________________
WolfLord - :4D70G: :Octane2:

"Two Minus Three Equals Negative Fun" - Troy McClure


Top
 Profile  
 
 Post subject:
Unread postPosted: Tue Aug 03, 2004 6:57 am 
Offline
User avatar

Joined: Mon May 19, 2003 11:10 am
Posts: 81
Location: Amsterdam, The Netherlands
Tried it with 3com 1000Base-SX (3c985).. It detects the card, but does not load the firmware. :?


Top
 Profile  
 
 Post subject:
Unread postPosted: Thu Aug 05, 2004 10:31 am 
Offline

Joined: Sun Jan 18, 2004 4:15 pm
Posts: 77
Location: Seattle, WA
I too tried with a 3C985 1000Base-SX card - I was able to alter if_eg.o so and hinv now recognises it as a gigabit ethernet card, but the firmware levels remain at 0.0.0 even after configuring it.

The Netgear version of this card is the GA620, and the Farallon card is the PN9000SX - anyone have those they can plug in and try to configure?


Top
 Profile  
 
 Post subject:
Unread postPosted: Thu Aug 05, 2004 11:43 am 
Offline

Joined: Sun Jan 18, 2004 4:15 pm
Posts: 77
Location: Seattle, WA
I hate replying to my own postings, but I did get the firmware uploaded - ifconfig doesn't upload the firmware when you configure the IP address and netmask, but does when you run 'ifconfig eg0 up'.

I now have the firmware uploaded onto the card:
Code:
Gigabit Ethernet: eg0, PCI slot 3, firmware version 12.4.10

If only I had a fibre gigabit ethernet switch to test it with :(

Does the same hack work with the tigon3-class devices using the if_tg.o file?


Top
 Profile  
 
 Post subject:
Unread postPosted: Thu Aug 05, 2004 12:07 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Jan 23, 2003 2:31 am
Posts: 7984
Location: Pleasanton, California
smharr4 wrote:
Does the same hack work with the tigon3-class devices using the if_tg.o file?


It shouldn't be necessary, but the reality seems to be a bit tougher.

warerat wrote:
I've been thinking about the same thing lately. On a Tezro (with the built in tg0 interface), here's what "tgcmd inventory" reports:

Chip Chip Sybsys Subsys Board
I/F Vendor Device Vendor Device Rev
=== ====== ====== ====== ====== ======
tg0 0x14e4 0x1645 0x10a9 0x8010 0x0000 SGI 5701 Copper


So you have Vendor ID 0x14e4 Device ID 0x1645 which is a standard Broadcom NetXtreme Gigabit Ethernet according to:

http://www.pcidatabase.com/vendor_details.php?id=767

However, they created a special patch (Patch 4958) that apparently does a bit more checking. My guess is the Subsys vendor/device listed above are queried as well.

Code:
[Koyori:cpu/sysgen/IP30boot] neko 7% od -x if_tg.o | grep 10a9
...
0223060 14e4 1645 10a9 8010 0001 0100 0000 0000
0223100 14e4 1645 10a9 8011 0001 0100 0000 0000
0223120 14e4 1645 10a9 8012 0100 0000 0000 0000
0223140 14e4 1648 10a9 8013 0001 0000 0000 0000
0223160 14e4 16a8 10a9 8014 0100 0000 0000 0000
...


What we see above are Broadcom (vendor ID 14e4) chipsets with device IDs 1645 (BCM5701 NetXtreme Gigabit Ethernet), 1648 (BCM5704 NetXtreme Dual Gigabit Adapter) and 16a8 (BCM5704 NetXtreme Gigabit Ethernet) followed by 10a9 (Subsys Vendor: SGI) 8010-8014 (Subsys Device). The trick would be finding out what subsys device/vendor a commodity card would report (if anything) and replace those digits with that information. 'hinv' doesn't report anything like this so it's pretty much up in the air as to how to go about getting it.

Another possibility is copying a 6.5.19 if_tg.o (without Patch 4958) into a newer kernel.

_________________
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.


Last edited by nekonoko on Thu Aug 05, 2004 1:12 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
Unread postPosted: Thu Aug 05, 2004 1:12 pm 
Offline

Joined: Mon Oct 20, 2003 6:49 am
Posts: 495
Location: NRW, Germany
nekonoko wrote:
What we see above are Broadcom (vendor ID 14e4) chipsets with device IDs 1645 (BCM5701 NetXtreme Gigabit Ethernet), 1648 (BCM5704 NetXtreme Dual Gigabit Adapter) and 16a8 (BCM5704 NetXtreme Gigabit Ethernet) followed by 10a9 (Subsys Vendor: SGI) 8010-8014 (Subsys Device). The trick would be finding out what subsys device/vendor a commodity card would have and replace those digits. 'hinv' doesn't report that so it's pretty much up in the air.


Or not.. here is a list of the subsys device/vender ids for different NetXtreme versions:
http://pciids.sourceforge.net/iii/?i=14e41645

so long,
Timo


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 159 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 11  Next

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group