MosChip MCS7830 USB Ethernet, 2.1 support?
I currently have this device working fine on pfSense 2.0.1 using a custom compiled driver. I'm curious how to find out if pfSense 2.1 would support this hardware out of the box. I believe support was added in FreeBSD 8.2, but I'm not sure how to see if the driver was included with pfSense. Would I just search a repository for if_mos.ko and see if it is a current version?
If it's in 8.3 then it will be in pfSense. Since it was introduced in 8.2 it should be.
There are additional drivers in 2.1 that aren't in FreeBSD 8.3. They are included as code patches. You can check that here:
The master branch is pfSense 2.1 currently but that will, presumably, change when work switches to 2.2.
I can see the device listed at boot when it lists all of the USB devices (ugen3.2: <moschip semiconductor="">at usbus3), however it isn't recognized as a network interface. With the custom driver in 2.0.1, it's working fine, so I know the device is okay.
I don't see a file at /boot/kernel/if_mos.ko, but I also don't see much of anything in that directory, let alone if_ files, so I guess that's not how they'd work? Do I need to tell the specific driver to load manually?</moschip>
Almost all the included drivers are compiled into the kernel so you won't find them as modules. It looks like whatever version of mos(4) is included it's not recognising your chip unfortunately. I suspect it may not be included at all since it's not in this list: http://files.pfsense.org/jimp/ko-8.3/i386/ I have no idea why not though. You could probably get the file from a copy of FreeBSD 8.3.
Have you tried loading the old driver? You might be lucky and find it works in 2.1.
Hah! I copied the old driver over and it loaded fine. I guess I'm back in business, thanks!
A few notes to myself about copying the necessary files off.
mount /dev/da0a /mnt/usbflashtest
find / -name config.xml
cp /cf/conf/config/xml .
cp /boot/kernel/if_mos.ko .
cp /conf/default/config.xml ./config.xml.default
If formatting a USB stick to fat16 for use with Windows
/sbin/mount -t msdosfs /dev/da0s1 /mnt/usbflashtest