Subject: Re: Question
To: None <port-cobalt@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-cobalt
Date: 11/23/2003 12:47:33
In article <web-94326797@wyoming.com>
brandons@wyoming.com wrote:

> Based on this information I captured below when I had the Cobalt OS on 
> there, it appears this box uses the 21041 chip: 
> 
> Nov 20 22:15:15 jupiter kernel: eth0:21041 Media information at 30, 
> default media 0800 (Autosense).
> Nov 20 22:15:15 jupiter kernel: eth0:  21041 media #0, 10baseT.

Hmm, on my RaQ2, the Linux kernel shows the following lines:

>> eth0: Digital DS21143 Tulip rev 65 at 0x10100000, 00:10:E0:xx:xx:xx, IRQ 4.
>> eth0: Old format EEPROM on 'Cobalt 27' board.  Using substitute media control info.
>> eth0:  EEPROM default media type Autosense.
>> eth0:  Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block.
>> eth0:  MII transceiver #1 config 1000 status 7809 advertising 01e1.

Could you see any info about chip revision and device address
like the above?

BTW, according to Linux cobalttulip_raq.c,
"eth0: Old format EEPROM on Cobalt 27 board." message
would not be printed if the chip is DC21041:

---
>> 	  /* Do a fix-up based on the vendor half of the station address prefix. */
>> 	  if(chip_id == DC21041) {
>> 		i = 6; /* just to shut up gcc */
>> 		goto no_fixups;
                ^^^^^^^^^^^^^^
>> 	  }
>> 	  for (i = 0; eeprom_fixups[i].name; i++) {
>> 		if (dev->dev_addr[0] == eeprom_fixups[i].addr0
>> 			&&  dev->dev_addr[1] == eeprom_fixups[i].addr1
>> 			&&  dev->dev_addr[2] == eeprom_fixups[i].addr2) {
>> 		  if (dev->dev_addr[2] == 0xE8  &&  ee_data[0x1a] == 0x55)
>> 			  i++;			/* An Accton EN1207, not an outlaw Maxtech. */
>> 		  memcpy(ee_data + 26, eeprom_fixups[i].newtable,
>> 				 sizeof(eeprom_fixups[i].newtable));
>> 		  printk("\n%s: Old format EEPROM on '%s' board.  Using substitute"
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>  				 " media control info.\n",
>> 				 dev->name, eeprom_fixups[i].name);
>> 		  break;
>> 		}
>> 	  }
>> 	  if (eeprom_fixups[i].name == NULL) { /* No fixup found. */
>> no_fixups:
   ^^^^^^^^^
>> 		printk("\n %s: Old style EEPROM -- no media selection information.\n",
>> 			   dev->name);
>> 		return;
>> 	  }
---

So I'm confused a bit.. (I should check other sources for 2700?)
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp