OpenBSD Journal

Call For Testers - mos(4)

Contributed by johan on from the there-was-no-driver-so-I-wrote-one dept.

Johann Christian Rode (jcrode () gmx.net) wrote a driver for the Delock 61147 network adapter. It was then imported by Theo de Raadt (deraadt@).

This driver is now in snapshots, please help test and report problems.

Editor's note; We unfortunately misspelled Johann's name, this has been corrected.

Please read on for Johann's message:

List:       openbsd-misc
Subject:    mos(4) driver for Moschip MCS7x30 USB 2.0 Ethernet devices
From:       Johann Christian Rode 
Date:       2008-11-03 10:15:32

Hi,

I recently picked up a Delock 61147 network adapter and it lacked
support in -current, so I've written a driver mos(4) and sent a patch
which got committed fairly quickly to my surprise.
I'm using the adapter on my x86 box for roughly a week and it's working
fine for me so far:
# netstat -I mos0
Name    Mtu   Network     Address              Ipkts Ierrs    Opkts 
Oerrs Colls
mos0    1500        00:13:3b:05:01:38   862560     0  1457479     
0     0
mos0    1500  10.1.1/24   10.1.1.1            862560     0  1457479     
0     0
mos0    1500  fe80::%mos0 fe80::213:3bff:fe   862560     0  1457479     
0     0

The relevant bits of dmesg are:
mos0 at uhub0 port 2 configuration 1 interface 0 "Moschip Semiconductor 
USB-MAC Controller" rev 2.00/1.00 addr 3
mos0: MCS7830, address 00:13:3b:05:01:38
ukphy0 at mos0 phy 1: Generic IEEE 802.3u media interface, rev. 0: OUI 
0x000000, model 0x0000

In addition to the vendor/device ID of the reference design, the driver
attaches to the IDs for the Sitecom LN030 device. 

By now, the driver should be in the snapshots for all the major
architectures, so please test it and give me some feedback if you have
any issues.

Thanks,

--jc

(Comments are closed)


Comments
  1. By Karl Sjödahl (Dunceor) dunceor@gmail.com on

    This is cool. I also wrote a driver for this but I ran into some bugs which I never resolved.

    Cool that somebody wrote a driver for it because there was full specs to these devices.

  2. By Anonymous Coward (193.226.177.115) on

    Please write a driver for Attansic(Atheros) L1 Gig network adapter. FreeBSD has this already.

    Comments
    1. By Anonymous Coward (219.90.220.101) on

      Please deposit one million dollars into my offshore Swiss bank account.

      Comments
      1. By Isak (77.244.194.50) on

        > Please deposit one million dollars into my offshore Swiss bank account.

        An on mine too thank you.
        Just as with drivers, more than one person can use a million dollars.

    2. By Karl Sjödahl (Dunceor) on

      > Please write a driver for Attansic(Atheros) L1 Gig network adapter. FreeBSD has this already.

      Please donate such device then maybe somebody will write a driver for it.

    3. By Anonymous Coward (67.69.227.99) on

      > Please write a driver for Attansic(Atheros) L1 Gig network adapter. FreeBSD has this already.

      Can you CC me your code too; thanks in advance.

      I'll give you a list of other things I would like for X-Mas too.

    4. By Anonymous Coward (87.178.155.134) on

      > Please write a driver for Attansic(Atheros) L1 Gig network adapter. FreeBSD has this already.

      How difficult is it to adapt a driver from FreeBSD (or Linux) for OpenBSD?

      Is there a systematic way to do it? (At least for specific device classes, like "audio-cards" or "NICs"?)

      Comments
      1. By Owain G. Ainsworth (oga) oga@openbsd.org on

        > > Please write a driver for Attansic(Atheros) L1 Gig network adapter. FreeBSD has this already.
        >
        > How difficult is it to adapt a driver from FreeBSD

        Depends on the driver. Some of their subsystems are similar to ours,
        others are quite different. (their bus_dma api is weird, for example).

        >(or Linux) for OpenBSD?

        With very few exceptions, linux drivers are GPL. So you don't.

        if it's got the correct license (rare), you need to read the driver, understand it, and replace subsystem usage with our subsystems. Most
        of the time, rewriting the driver ends up a lot cleaner.

        If it doesn't, you can read the driver, work out how the hardware works. Then you must forget how they did it, and write a driver using your new-found understanding of the hardware. This is very much non-trivial.

        Comments
        1. By Anonymous Coward (92.80.24.73) on

          > > > Please write a driver for Attansic(Atheros) L1 Gig network adapter. FreeBSD has this already.
          > >
          > > How difficult is it to adapt a driver from FreeBSD
          >
          > Depends on the driver. Some of their subsystems are similar to ours,
          > others are quite different. (their bus_dma api is weird, for example).
          >
          > >(or Linux) for OpenBSD?
          >
          > With very few exceptions, linux drivers are GPL. So you don't.
          >
          > if it's got the correct license (rare), you need to read the driver, understand it, and replace subsystem usage with our subsystems. Most
          > of the time, rewriting the driver ends up a lot cleaner.
          >
          > If it doesn't, you can read the driver, work out how the hardware works. Then you must forget how they did it, and write a driver using your new-found understanding of the hardware. This is very much non-trivial.
          >
          >

          Right. Then start importing the FreeBSD driver and I will test it. It has been done before (as for Attansic F1 PHY recently).

          Comments
          1. By phessler (phessler) on http://theapt.org

            > Right. Then start importing the FreeBSD driver and I will test it.


            you seem to be slightly confused, let me clarify.

            1) you can pay a developer to support this hardware. this has to be an explicit agreement, regular donations go to what the project thinks is most important.

            2) you can wait for an interested party to write the support.

            3) you can do it yourself.


            #1 would require funding, and a developer that is interested in this, but has to choose between supporting this hardware or supporting their family.

            #2 is where we currently are. so far, no one has been interested enough to finish.

            #3 would be educational for you, but time consuming.

          2. By Anonymous Coward (2a01:348:108:155:216:41ff:fe53:6a45) on

            > Right. Then start importing the FreeBSD driver

            If any developers were thinking of doing this, I think your attitude probably just put them off a teeny little bit...

            > and I will test it.

            I suppose you might surprise us, but you are aware testing involves more than building an i386 kernel and checking you can pull torrents over it, right?

            Comments
            1. By Anonymous Coward (86.55.11.210) on

              > I suppose you might surprise us, but you are aware testing involves more than building an i386 kernel and checking you can pull torrents over it, right?
              >

              Yeah right. I will stress the _hell_ out of it ;). Trust me.

              Comments
              1. By Anonymous Coward (92.80.24.73) on

                > > I suppose you might surprise us, but you are aware testing involves more than building an i386 kernel and checking you can pull torrents over it, right?
                > >
                >
                > Yeah right. I will stress the _hell_ out of it ;). Trust me.

                BTW why OBSD doesn't have any kernel stress suite like FreeBSD has? This might be useful.

                Comments
                1. By Anonymous Coward (2a01:348:108:155:216:41ff:fe53:6a45) on

                  > > > I suppose you might surprise us, but you are aware testing involves more than building an i386 kernel and checking you can pull torrents over it, right?
                  > > >
                  > >
                  > > Yeah right. I will stress the _hell_ out of it ;). Trust me.
                  >
                  > BTW why OBSD doesn't have any kernel stress suite like FreeBSD has? This might be useful.

                  Feel free to port it...

                  We do have tcpbench, but that sort of thing is relatively simple to test, compared to some of the wierd setups people might be using.

              2. By Anonymous Coward (2a01:348:108:155:216:41ff:fe53:6a45) on

                > > I suppose you might surprise us, but you are aware testing involves more than building an i386 kernel and checking you can pull torrents over it, right?
                > >
                >
                > Yeah right. I will stress the _hell_ out of it ;). Trust me.

                Suggestions for network driver testing includes wierd combinations of vlans, multicast, bpf, jumbo frames, bridging, checking link state/duplex detection works properly (needed for carp, ospf and others), connecting to a variety of different switches/hubs/etc..

    5. By Anonymous Coward (85.19.213.88) on

      > Please write a driver for Attansic(Atheros) L1 Gig network adapter.

      My Asus P5B-E has this NIC. Lacking a driver for it, I just disabled it and bought a RealTek card (RTL8169). It only cost something like 15 EUR, attaches to the re(4) driver, and works very well for my needs.

      > FreeBSD has this already.

      Then use FreeBSD? Seriously though, if you can donate such a card to the developers, and perhaps assist in testing, I'm pretty sure support for it will come (eventually).

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]