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?


  • Netgate Administrator

    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:
    https://github.com/pfsense/pfsense-tools/tree/master/patches/RELENG_8_3
    The master branch is pfSense 2.1 currently but that will, presumably, change when work switches to 2.2.

    Steve



  • 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>


  • Netgate Administrator

    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.

    Steve



  • 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.

    mkdir /mnt/usbflashtest
    mount /dev/da0a /mnt/usbflashtest
    cd 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


Log in to reply