problem: non-usb cable modem, unlike matching usb enabled version, has no MAC in it. it reports to cable company whatever MAC from the NIC it's hooked to. if you hook up a different NIC or try to use a different machine, it doesn't get on the net. USB version has the MAC because the USB part is an integrated ethernet adapter.
A D-Link router and probably others can 'clone' the MAC that it finds behind it, to make such a modem think it's still connected to the same thing and thus the cable co still identifies you.
in WinXP i punched in the MAC from the stupid inline USB adapter they gave with the modem, and it gets right on. In linux it's not happening. That's why it's important, because USB ethernet sucks.
btw, we don't want to alter the card to rewrite its MAC, we only want the OS to act as if its MAC is not what it is ---such as when dhcpcd requests an IP, providing the MAC for the iface is how they know you from someone who's been disconnected. I'll keep looking...