printf "%2d. %s %s\n" "$card_number" "$card_mark" "$card_name"
}
-first_pcicard=4
+first_pcicard=5
cards()
{
# Run lspci once to a temp file for use in 'card' function
- lspci >$LSPCI || exit
+ lspci >$LSPCI 2>/dev/null || true
card 0 "No Ethernet card (no networking)"
card 1 "3Com 501 or 3Com 509 based card"
card 2 "Realtek 8029 based card (also emulated by Qemu)" "10EC:8029"
card 3 "NE2000, 3com 503 or WD based card (also emulated by Bochs)"
+ card 4 "lan8710a (on BeagleBone, BeagleBone Black)"
n=$first_pcicard
for pcicard in $pci_list
do var=\$pci_descr$pcicard; descr="`eval echo $var`"
test "$v" = 1 && echo "Note: After installing, edit $LOCALRC to the right configuration."
test "$v" = 1 && echo " chose option 4, the defaults for emulation by Bochs have been set."
;;
+ 4) driver=lan8710a; ;;
$first_after_pci) driver="psip0"; ;;
*) warn "choose a number"
esac
--------------------------------------------------------------------------------
* INSTALLATION: *
--------------------------------------------------------------------------------
-To install LAN8710A for BeagleBone under MINIX you have to edit /etc/inet.conf
-by adding line:
-eth0 lan8710a 0 { default; };
-and changing:
-psip0 { default; };
-to:
-psip1;
-Restart the system and the driver should work.
+To install LAN8710A for BeagleBone under MINIX you execute 'netconf' as
+usual. Select the LAN8710A driver from the list. Restart the system
+and the driver should work.
--------------------------------------------------------------------------------
* TESTS: *
message m;
int r;
int ipc_status;
- static int rx_first_enabled = FALSE;
/* SEF local startup */
env_setargs(argc, argv);
break;
case DL_GETSTAT_S:
lan8710a_getstat(&m);
- /*
- * Workaround:
- * Re-enabling interrupts here is made to avoid
- * problem that Rx interrupt came when it can't
- * be handled. When this problem occurs next Rx
- * interrupts don't appear.
- */
- if(rx_first_enabled == FALSE) {
- rx_first_enabled = TRUE;
- lan8710a_enable_interrupt(RX_INT |
- TX_INT);
- }
break;
default:
panic("Illegal message: %d", m.m_type);
/* GMII RX and TX release from reset. */
lan8710a_reg_set(CPSW_SL_MACCONTROL(1), CPSW_SL_GMII_EN);
+
+ /* Enable interrupts. */
+ lan8710a_enable_interrupt(RX_INT | TX_INT);
return TRUE;
}