|
Lines 354-359
Link Here
|
| 354 |
default: |
354 |
default: |
| 355 |
scp->vendor = "Unknown"; |
355 |
scp->vendor = "Unknown"; |
| 356 |
} |
356 |
} |
|
|
357 |
#if XE_DEBUG > 1 |
| 358 |
device_printf(dev, "Vendor %s\n", scp->vendor); |
| 359 |
#endif |
| 357 |
|
360 |
|
| 358 |
if (!((prod & 0x40) && (media & 0x01))) { |
361 |
if (!((prod & 0x40) && (media & 0x01))) { |
| 359 |
#if XE_DEBUG > 1 |
362 |
#if XE_DEBUG > 1 |
|
Lines 392-397
Link Here
|
| 392 |
} else { /* Ethernet-only cards */ |
395 |
} else { /* Ethernet-only cards */ |
| 393 |
#if XE_DEBUG > 1 |
396 |
#if XE_DEBUG > 1 |
| 394 |
device_printf(dev, "Card is Ethernet only\n"); |
397 |
device_printf(dev, "Card is Ethernet only\n"); |
|
|
398 |
device_printf(dev, "Card prod val is %d\n", prod & 0x0f); |
| 395 |
#endif |
399 |
#endif |
| 396 |
switch (prod & 0x0f) { |
400 |
switch (prod & 0x0f) { |
| 397 |
case 1: |
401 |
case 1: |
|
Lines 402-410
Link Here
|
| 402 |
case 3: |
406 |
case 3: |
| 403 |
scp->mohawk = 1; |
407 |
scp->mohawk = 1; |
| 404 |
scp->card_type = "CE3"; break; |
408 |
scp->card_type = "CE3"; break; |
|
|
409 |
/* my PS-CE2-10 has a prod of 0xff ?? */ |
| 410 |
case 15: |
| 411 |
scp->card_type = "CE2"; break; |
| 405 |
default: |
412 |
default: |
| 406 |
rc = ENODEV; |
413 |
rc = ENODEV; |
| 407 |
} |
414 |
} |
|
|
415 |
#if XE_DEBUG > 1 |
| 416 |
if (rc != ENODEV) { |
| 417 |
device_printf(dev, "Ethernet Type: %s\n", scp->card_type); |
| 418 |
} else { |
| 419 |
device_printf(dev, "Card Type not set!\n"); |
| 420 |
} |
| 421 |
#endif |
| 408 |
} |
422 |
} |
| 409 |
} |
423 |
} |
| 410 |
success++; |
424 |
success++; |
|
Lines 419-424
Link Here
|
| 419 |
#endif |
433 |
#endif |
| 420 |
for (i = 0; i < ETHER_ADDR_LEN; i++) |
434 |
for (i = 0; i < ETHER_ADDR_LEN; i++) |
| 421 |
scp->arpcom.ac_enaddr[i] = CISTPL_DATA(buf, i+2); |
435 |
scp->arpcom.ac_enaddr[i] = CISTPL_DATA(buf, i+2); |
|
|
436 |
} |
| 437 |
/* my PS-CE2-10 has this: */ |
| 438 |
if ((CISTPL_LEN(buf) == 13) && |
| 439 |
(CISTPL_DATA(buf, 0) == 0x02) && |
| 440 |
(CISTPL_DATA(buf, 1) == 0x01) && |
| 441 |
(CISTPL_DATA(buf, 2) == ETHER_ADDR_LEN)) { |
| 442 |
#if XE_DEBUG > 1 |
| 443 |
device_printf(dev, "Got MAC address (0x22)\n"); |
| 444 |
#endif |
| 445 |
for (i = 0; i < ETHER_ADDR_LEN; i++) |
| 446 |
scp->arpcom.ac_enaddr[i] = CISTPL_DATA(buf, i+3); |
| 422 |
} |
447 |
} |
| 423 |
success++; |
448 |
success++; |
| 424 |
break; |
449 |
break; |