Slashdot Mirror


Upping The Softmodem Code Bounty -- To $20,000

Alex Pilosov writes: "I've announced a bounty for completion of softmodem code (20k$) on linmodems-discuss list. If this is successfully completed, we'll have a completely universal driver for any kind of winmodem without any proprietary code which result in all sorts of kernel version problems." Here's the full text of the announcement and conditions.

32 of 234 comments (clear)

  1. high price for a modem by htmlboy · · Score: 3, Interesting

    seems to me that $20,000 is an awful lot to pay for the ability to reliably run softmodems in linux...almost like we're trying to beat the corporations more than accomplishing the goal.

    with the prevalence of high speed connections these days, i find it odd that we're seeing a big surge for a (slowly) dying technology. linux users tend to be people who value their connection enough to get dsl or a cable modem.

    i guess my observations of the current state of technology are a bit skewed by living in a college town where every apartment has "T1 Ethernet" (ha), so i'd be interested in hearing what others think about the worth of modem development.

    1. Re:high price for a modem by Kraft · · Score: 5, Insightful

      think laptops...

      I have a thinkpad t21, and from what I have read, one of the common linux problems with this laptop is bad modem support. As I use this machine on the road from time to time, I want that modem to work (hotels, friends house etc.) and if it doesn't it will be a deterrent to install linux.

      I do think you are right in suposing that many linux fans are early adopters, but what I find interesting is the possibility of more "regular" users switching to linux, because of proper hardware support and thus: ease of use.

      --

      -Kraft
      Live and let live
    2. Re:high price for a modem by Masa · · Score: 3, Interesting

      I'm a Linux user and until now I had no way to get any other kind of connection to my Linux box than modem (now I finally was able to subscribe a cable modem connection). I had to pay three times more compared to Winmodems to get a fully functional external V.90 modem.

      I'm a poor university student and every penny counts. I cannot afford to *DSL connection or any other kind of high-speed connection. Also until resently it was techincally impossible to get cable modem to my apartment. So modem was the only reasonable way to get connected. And for student it is rather tempting to by cheap Winmodem rather that the real one.

      And now to the point... First of all: there is still places where it is difficult/expensive/impossible to have *DSL or cable modem connections. Second: there always is a (large) group of people who want to have an Internet access but even cheapest REAL modem is too expensive. Winmodem is dirty cheap alternative but it limits user to Windows environment. That's why it's quite important to have support for cheap "hard"ware under Linux. After all, one reason to have Linux installed is the cheap price.

      Yes, I'm the stupid one, who first bought a Winmodem and was tied to Windows platform before I had a chance to buy a real piece of hardware.

  2. Reasons why this would be interesting! by denisb · · Score: 5, Insightful

    Can't people figure out the following reasons for such a project being interesting ?

    - Low cost internet station for places out of reach of xDSL / cable modem connections.
    - Viable internet connection for legacy hardware / second hand hardware
    - Excellent solution for development countries where xDSL is faar away yet.

    The keywords here are LOW and COST.. Did you ever consider that Linux and second hand hardware might be the ultimate combination for places where they don't have as much cash as yourselves ?

    d9s

    --
    life+universe+everything=42
  3. Re:Motivation? by Kraft · · Score: 5, Informative

    I was curious about his @pilosoft.com address, but the site is blank. However, a google search on his name revealed a personal homepage.

    One thing worth noting: he's 22 years old.. hmmm. According to his resume, he has contributed to apache, mod_perl, postgresql and freebsd.

    My personal guess is that he has convinced one of his employers to pay for this (Lazard Ferez & Co., which he works for, seem potential, but i don't know enough about them). I'll be following the bounty thread.

    Anyway, I think he is for rea and wish him good luck. Here's a picture of our hero

    --

    -Kraft
    Live and let live
  4. Bounty won't matter much. by zensonic · · Score: 5, Interesting

    Regardless of the coolness factor of this bounty, the fact still remain: A GPLed softmodem driver still requires certification by the telephone companies before any device is legally connected to the telephone network using the driver.

    My guesstimate are that it's much more difficult to obtain certifactions for the driver around the globe than it is to write the driver. The telephone companies are rather picky about what the allow onto their networks

    --
    Thomas S. Iversen
    1. Re:Bounty won't matter much. by BlueUnderwear · · Score: 3, Informative
      In France, there is a rule that a modem should not be allowed to redial a same number too many times after failures, until it is reset.

      This is intended to prevent that unattended systems, where the phone number of the peer is misset for some reason, accidentally harress an innocent third party all through the night by calling every five minutes...

      A low level driver could easily bypass such rule, which would theoretically make it necessary to certify it.

      --
      Say no to software patents.
    2. Re:Bounty won't matter much. by pjrc · · Score: 5, Insightful
      A couple years ago I designed a product with an embedded modem (H8800-1 at this page). I used a rockwell chip and associated components, which is a hardware modem.

      Device is the keyword here, and the device (winmodem) has already been certified. The software driving the device doesn't need certification.

      This may not true. When we tested the H8800-1 for FCC part 68 compliance, the test was for the whole system. We had to provide ways for them to access the modem to test both originate and answer modes (though the H8800-1 only answers and never originates). We had to do this, despite the fact that the signals were all generated by the Rockwell chip.

      However, the majority of the trouble with FCC part 68 is the surge tests. The basic idea behind these tests is to apply a massive surge on the line which is certain to destroy the modem. The modem is required to fail in a manner where it does not conduct, so it looks like it's on-hook (not in use) to the phone network. This is purely a function of the hardware. The lab we sent the prototypes to did many other tests, but they were all pretty easy to pass (using the rockwell chip).

      Reading through these regularity requirement documents is a mind-numbing experience (if you can stay awake). If you're feeling maschoistic, here is the page for requesting the Part 68 technical requirements. If anyone takes the time to actually read and make some sense out of this stuff, please post your informed opinions. Part 68 applies only to the US, so repeat for whatever other countries you're interested in...

  5. 1 universal driver??? by HeUnique · · Score: 4, Informative

    Have you actually looked at the drivers available in linmodems.org? look for example at the Cirrus Logic driver and look at the IBM's MWave driver - they have some common goal - they're emulating V34 and V90 protocols for example - but each chip is doing this TOTALLY differently, try to play a bit with the binary only ltmodem to see what I mean...

    A unified driver won't work here since almost each DSP chip which is a WinModem is totally different from others - look at the HSF modems DSP chips (conexant) VS. Lucent WinModem DSP chips VS Cirrus Logic VS TI's DSP chip...

    Or I might didn't understand you well Alex, could you give more details? You also didn't give any details about what do u offer for a group of programmers - who will get what...

    --
    Hetz (Heunique)
  6. Re:restrictions? by krokodil · · Score: 5, Insightful

    You MUST have background in signal processing

    Dear Mr. Torvalds,

    We could not permit your so-called "operating system" to use GNU license because you do not have proven experience in the operating system design and your background is not sufficient. In order to satisfy our customers,
    and maintain high project code quiality, we accept contributions only from candidates who have experience in the particular area and passed interview with some of our managers.

    (signed)
    Free Software Foundaiton

  7. Bountys - a great Way to fund development of OSS by tempmpi · · Score: 3, Interesting

    I think that this bounty thing could maybe be a really good way to fund the development of opensource software.
    I think it is very nice that Alex Pilosov supplies the money for this, but there could have been a better way to get the money for bountys like this one. I think there are a lot more than 20000 people that run linux on a notebook with a softmodem and like to have a piece of the software like this. If they would all have spend a dollar, this would have been a mucher nicer method of raising the money for a bounty like this.
    I want a webpage that is a combination of PayPal, freshmeat and sourceforge. Where users could donate money to a bounty for a project they choose. If no one is able to reach the goal that is needed for the bounty the users get their money back.

    --
    Jan
  8. Patents on modem algorithms? by dido · · Score: 4, Insightful

    I'm just wondering if perhaps someone has patented the algorithms used to drive these soft modems. A Free Software implementation of a soft modem driver will thus be in violation of the patent then. As far as I can tell the ITU, the standards body that defines these modem standards, allows what the W3C calls RAND licensing, as they state in patent policy (excerpt):

    2 If an ITU-T Recommendation is developed and such information as referred to in paragraph 1 [patents and other intellectual property claims], three different situations may arise:

    2.1 The patent holder waives his rights; hence, the Recommendation is freely accessible to everybody, subject to no particular conditions, no royalties are due, etc.

    2.2 The patent holder is not prepared to waive his rights but would be willing to negotiate licenses with other parties on a non-discriminatory basis on reasonable terms and conditions. Such negotiations are left to the parties concerned and are performed outside the ITU-T. [emphasis mine]

    2.3 The patent holder is not willing to comply with the provisions of either paragraph 2.1 or paragraph 2.2; in such case, no Recommendation can be established.

    It's paragraph 2.2 that worries me. If any patents exist on the modem standards implemented by soft modems that are thus RAND-licensable, any GPL implementation is impossible. I believe some of the compression algorithms used in some of the modem standards are already known to be patented, such as the infamous LZW compression algorithm held by Unisys that has caused the huge flap over GIF's a couple of years back.

    --
    Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
  9. Re:Stay away from this path! by Nicolas+MONNET · · Score: 3, Informative

    You'll worry about performance when it's working, silly.

    Besides even with a low-end processor by today's standards, the "crawling" will be like below 10% CPU usage.

    Oh, and if it's still too slow, someone may just optimize the code with MMX kind of stuff. But you can't optimize what does'nt exist. And you should'nt obsess about optimizing before you have something actually working.

  10. Winmodem hardware compatibility by Novus · · Score: 3, Insightful
    If this is successfully completed, we'll have a completely universal driver for any kind of winmodem without any proprietary code which result in all sorts of kernel version problems.

    As far as I can tell, this project doesn't solve the problem of winmodem manufacturers not releasing hardware specs. In other words, you'd have a driver that can tell a DAC/ADC driver what to squirt down the line and work out what the stuff that comes back means, but you still wouldn't be able to use the actual winmodem; you'd have to use a DAC/ADC for which you have drivers. This means either buying a supported modem or a separate DAC, or trying to figure out how to drive the winmodem's DAC and ADC directly.

    Of course, persuading manufacturers to release one or two port adresses and a little info on how to use them may be easier than getting them to release full Linux drivers or complete DSP specs. Likewise, working out how to access the DAC/ADC on a winmodem is probably easier than trying to figure out its DSP (although the DAC/ADC may be only accessible to the DSP, which may make things hairy).

  11. Re:Bountys - a great Way to fund development of OS by ab315 · · Score: 3, Insightful
    Bounties are a TERRIBLE way to fund development of software.

    No serious developer is going to go after a bounty, because you only have a 1/N chance of getting the prize if there are N other contenders. The person who finishes first is going to be the one who cuts the most corners and spends the least amount of time on design and documentation, so you'll end up rewarding the person who can produces the crappiest software to a minimum standard faster than anyone else!

    The competitive aspect also makes people keep their work secret, preventing peer review and feedback.

    Sheesh, if someone has $20,000 to spend on software development they should just HIRE a skilled person who will get the job done properly. It's not like there's a shortage of skilled software developers at the moment! They don't even have to be a free software developer because if you're hiring them you call the shots and choose whatever license you want.

  12. PCMCIA modems for under $20 by vscjoe · · Score: 4, Informative
    Check pricewatch.com: you can get PCI modems for under $15, PCMCIA modems for under $20, an external USB modem goes for under $25, and an external serial port modem goes for under $30. Those kinds of modems usually conform to standard interfaces and make minimal use of the CPU (other than for the serial interrupts, of course).

    WinModems, in contrast, are just a big hassle: they consume oodles of CPU time, they have non-standard drivers, and you have to worry about them with every OS. If your laptop has one built-in, complain to its manufacturer (it probably would have cost nothing to add a real modem) and don't bother using it.

  13. Licensing too. by Karpe · · Score: 3, Insightful

    Not only you are right, but also any communication equipment connected to the phone network must be licensed by the local communications agency. This happens in many countries. Most of them will never bother to go after people connecting linmodems on the phone network, but some countries are very rigid in this control. This licensing, or approvement, must apply to the communication equipment as a whole. You can't license only the hardware part of software modems, since many times is the software that will decide the line levels to be used. (In Lucent winmodems, these levels are selected via AT commands, when you select the country you are in. This is done via software). This process is necessary to avoid people connecting devices to the phone network that could ruin the network.

    So, in short, even if we don't worry with the patent issues of v.xx, we still have to worry on licensing the linmodem software, but since free software can always be modified, there will always have a non-approved version of it, which can cause legal problems.

  14. Another reason where it could be useful. by BlueUnderwear · · Score: 3, Interesting
    Analog modem emulation over ISDN. Indeed, the complicated part of the driver is emulating the DSP with its signal processing algorithms, whereas actually interfacing to the device is the easy part. Such an analog-over-isdn driver could be interesting in the following situations:
    • You occasionnally connect to serveral providers, some analog, some isdn, and you don't want to keep around both an ISDN card and an analog modem.
    • You run a small co-op ISP, and want to offer 56K access. As you probably know, end-user 56K modems only work for the client side, not for the ISP side. ISPs need different equipment, which is much more expensive, and only makes sense for large commercial ISPs. However, with ISDN, it could easily be emulated, if there was such as softmodem driver around
    • Actually, the possibility of running analog modem protocol over ISDN would be an excellent testing platform for softmodem developpers: indeed, anybody good enough to write a softmodem driver would probably be to smart to have a real winmodem lying around. Which means he would have to buy one specifically for the purpose of writing this driver. With ISDN, he can use equipment which he probably already has.
    --
    Say no to software patents.
  15. Who pays the lawyers? by Florian+Weimer · · Score: 3, Insightful

    I doubt you can implement those ITU standards without infringing on a couple of patents (at least a few companies will claim infringement as soon as you publish the code).

    If you have to pay the lawyers from your $20,000, this doesn't appear to be a fair deal.

  16. Screw Microsoft and promote the uptake of Linux by pubjames · · Score: 3, Insightful


    I've often thought that it is in many companies interests to find ways to screw over Microsoft, even in ways that are apparently not directly beneficial to them. I've always thought that this is probably one of the main motivating factors behind openoffice.org - it might not generate much profit for Sun, but it has the potential to kick Microsoft where it hurts, as the cream of their profits come from Office. Similarly with IBM's support and nurturing of SUSE, Mandrake and Redhat.

    Of course there many be companies that have identified places they want to kick Microsoft but don't want to do it publicly. Take Intel for instance - despite their long-term relationship with Microsoft I'm sure they would prefer to drive sales of their processors by releasing open source developers toolkits that exploit new features they add to their processors. So its in their interest to promote the uptake of Linux, but without risking the wrath of Bill. This is one way they could do it - give bounties via a third party for development that they see as strategic for the wider uptake of Linux.

    And not just Intel - there are many other companies that have the motivation to do this type of thing but don't want attention drawn their way.

  17. How do we know that this is genuine? by HuskyDog · · Score: 5, Insightful
    I don't want to be rude, but how do we know that this guy will produce the money? Can anyone we trust vouch for him?

    Perhaps if he placed a deposit with some trusted third party (Mad Dog, Eric Raymond etc) people might be happier to devote the time.

  18. Re:Stay away from this path! by JediTrainer · · Score: 4, Funny

    Bounty $20000 for developing an application that will bring your computer to a crawl.

    AFAIK nobody suggested that the driver has to be written in Java

    disclosure: I AM a Java developer and I was just being sarcastic - no flames please

    --

    You can accomplish anything you set your mind to. The impossible just takes a little longer.
  19. Why require Compression?? by A+Commentor · · Score: 3, Insightful

    V.42bis and MNP5 should be optional.

    As long as the software is able to properly negotiate no compression with the other modem, requiring Compression adds a substanial amount of work that can be post-poned or have another person work on it.

    --

    Looking for any old 8-bit Heathkit/Zenith software/hardware - http://heathkit.garlanger.com

  20. Re:Bountys - a great Way to fund development of OS by GigsVT · · Score: 5, Interesting

    No one has heard of

    linuxfund.org

    ?

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
  21. Isn't motivation obvious? by AndyBarrow · · Score: 3, Interesting

    I would think that the motivation for something like this would be obvious. For a company to develop drivers, either for their own hardware or someone elses, would be WAY more than $20,000. That's a couple of months of contract time for one person, if you are lucky.

    This way, they get the drivers they want, the OSS community gets another wrench for the toolbox, and everybody wins.

    Why look a gift horse in the mouth, folks? Get coding!

    --
    "You can't have everything. Where would you keep it?" -- Steven Wright
  22. Re:Mirror of Text by tzanger · · Score: 3, Funny

    Code must not rely on DSP, pure C required.

    So let me get this straight: If the modem is an HCF modem (i.e. has its own DSP) you aren't allowed to use it. In other words, the guy is putting up $20k for someone to write a universal HSP driver. Interesting notion.

    I'm sure there's v.34 code available. v.90 may be a little trickier. The neat part about this is that you should (in theory) be able to use your soundcard and a part-68 interface for a modem if this is pulled off.

  23. Re:problems by pubjames · · Score: 4, Insightful

    M$ has convinced many hardware makers that M$'s method of code breaking and bloat are the only way to drive new hardware sales.

    I think this probably underestimates the sophistication of thinking at hardware manufacturers, and the diversity of the market.

    Take, for instance, the 3D computer graphics sector. I am sure Intel was very pleased when Microsoft started to make a big drive to get NT used by companies in the 3D graphics production/rendering market, because they regularly buy lots of boxes. However, I bet they are even happier now that NT/Windows is no longer seen as attractive in this sector, and everyone is moving to Linux. Why? Because now they can add features to their chips that make them more attractive to this sector, and release the code as Open Source to stimulate need and uptake. They tried to do something similar before with Windows, but MS firmly stamped on their efforts.

  24. Re:Motivation? by kruczkowski · · Score: 3, Funny

    Hmm. It looks like he's a troll from sector 7G sir.

    ALEX PILOSOV
    83-60 118 St., Apt. 7G
    Kew Gardens, NY 11415

    --
    hmm... for fun I enjoy launching DDoS attacks against 127.87.42.5
  25. Some facts about software modems by Jamie+Lokier · · Score: 5, Informative

    Interesting; I did not see this second message from Alex. Have I been unsubscribed from the list over the weekend, I wonder?

    I'm going to answer a few questions that have been raised, and a few that haven't.

    Is anybody working on the code?

    Fabrice started first. Unfortunately, he has been quiet for a very long time, and I have no idea if Fabrice has done further work on the modem code. I hope he is still well and healthy.

    Meanwhile, I have been secretly still working on my code base (that's the one at tantalophile) all this time. It has been an on and off affair, and I've found it difficult to find the time, energy or focus what with the day job and other projects. I keep foolishly trying to improve on the standard algorithms ;-) Nevertheless, bugs have been fixed, features added, tests done, signals are processed better than ever and I have a nice set of graphs showing simulated error performance of the V.34 core under various conditions.

    In other words, there's a long way to go and please, nobody hold their breath, but there has been substantial progress and it is not on the tantalophile web site. So don't slashdot it, thanks :-) I'm making no promises about when my new material will appear, but I do promise it will be announced on the linmodems mailing list.

    About the bounty

    It's a bit of a nice surprise to see that offered. I'll be contacting Alex, but to be honest I am motivated to complete the project anyway. I don't want funding to dictate the goals of the project (which should be educational and of high quality, IMHO, as well as functional), although some influence would be understandable. It is likely to make a difference to the schedule though.

    Legal clarification and/or commercially backed negotiation on the patent issue would be invaluable, and help with testing is also very valuable.

    I didn't respond to the original $5000 request because it is not a lot of money. Considering the large amount of time, effort and to some extent resources already spent on the project, as an estimate for the remaining work, I would certainly not accept a commercial contract at that sort of rate. $20000 is rather more interesting, but I think Alex's request for V.90 is unrealistic if he wants it on a short timescale.

    One thing that would be a bit upsetting is if all my work were quickly overshadowed by someone else, suddenly motivated by cash, throwing something together. But I cannot complain as I haven't exactly been speeding ahead or keeping with the community on this. I know how the Hurd feels ;-)

    Standards compliance, approval, and "homologation"

    This is quite hard, because anyone can modify the code and thereby break any certification of the code.

    Different countries have different standards. There are differences in the energy that can be emitted, both the peak instantaneous energy and a longer term average are limited. And you don't always want to max out the energy anyway, as you're avoiding distortion.

    The relationship between voltage and current is not the same everywhere. Dialing tones, engaged tones and so on vary. V.90 coding varies because the USA operates at a lower digital bit rate than most of Europe.

    Some people have said that it is the hardware which is subject to regulation. This is not true. I believe there is a certain certification level for the hardware itself, for avoiding excessive energy input, making sure the hardware doesn't go up in flames when receiving the 100V ring pulses or a lightning bolt, that the impedance is matched, and so on.

    However, it is (theoretically) necessary to certify the software as well for many reasons. A good example: by modifying the software, you can transmit more energy on a USA telephone line, using a USA modem, than is permitted by federal regulations. That excessive energy is considered to potentially interfere with other people's telephone calls. So, you do have to get the software right.

    Fortunately we have a good example of certification in the Linux kernel. Some versions of the Linux ISDN code are certified for use on the German telephone networks, I believe. The source code is checksummed. I note with interest that it's the source that's certified, and not the binary (so the beurocracy is ignoring bugs in the compiler or the rest of the kernel).

    For myself, I am very keen to write code which certainly does conform to all the known requirements. I don't feel comfortable hacking together some "it seems to work" code of this kind and releasing it like that. It's partly a reputation thing, and partly a responsibility thing.

    On patents

    Yes, there are many patents. Unfortunately the detailed patent situation is unknown. It is possible that the patents don't apply to software implementations in most countries, but we don't know to what extent and where each patent applies.

    We don't even know which patents apply! However, there is an online list at the ITU which may be helpful.

    This is hopefully an area in which Alex Pilosov and his (possibly) commercial backing can help in a big way.

    I am of the opinion that users have, in general, already paid for their modems and so they should already have permission to use the techniques. It seems to be the case that software modem drivers for Windows are downloaded and installed with no attention paid to these matters, so it should not be any more of an issue for Free Software. It would be good to know for sure.

    The developing world

    Telephone line driver chips are cheap! For the developing world, getting an internet connection over crappy copper would be a wonderful achievement, and with full access to a software modem, you could cobble the modems together from parts.

    For this reason I think it is important that the softmodem works well over poor lines as well as good ones. And yes, I would love to code "workarounds" for when the standard algorithms don't perform well on Nepalese copper lines, or wherever. It would have to be a special variant of the code, for the regulatory reasons stated earlier, but it's a lovely thought.

    Is it still worth writing a software modem in order to use "winmodems" on Linux?

    The motivation has certainly waned, now that many previously windows-only modems are now supported on Linux by binary-only drivers from the manufacturers. Of course, you cannot use them if you're using the wrong kernel, or SMP, or if you have more than one modem, if you don't permit binary-only drivers, if you are using an Alpha or a PPC-based iMac, or if you want to run any-BSD. But hey, a lot of users are happy enough now, so that does remove some of the motivation for writing the code.

    Which leaves the educational aspect. The interior of a modern modem is not well documented, even in books about signal processing. To be sure, many of the classic algorithms are very well written up, but the details as they apply to modern modem standards are not, and there are some algorithms which V.34 and V.90 clearly require which I have yet to find any information about. (Welcome to re-inventing the wheel, but it is fun!) As Alan Cox once said, the V.90 standard is "semi secret". Read it sometime, if you don't mind paying the relatively modest fee, and you'll see what he means.

    Revealing just how a modern modem works, in the form of working code that (I hope) is readable by those who wish to study it, then, is as much a goal for me as getting winmodems working. And it's interesting because I'm still figuring it out myself :-)

    Interfacing with the hardware

    Several people pointed out, quite correctly, that a software modem won't actually work with any of the hardware "winmodem" devices. This is correct; we need device drivers too, and that is accomplished by reverse engineering the original drivers.

    I don't know Alex's exact requirements. He doesn't mention needing PCM drivers -- perhaps he has his own drivers already? But if he requires reverse-engineered PCM drivers as well then that's quite a bit more work.

    Progress on that front is being made, by several people, but it is really a separate project. It is worth noting that there's a GPL'd Lucent modem driver that can do PCM. It is actually quite old now. I have faith that the PCM driver part of this problem will be solved by eager contributors if there is a good softmodem to make use of it.

    Cheers,
    -- Jamie

    1. Re:Some facts about software modems by apilosov · · Score: 3, Interesting

      Jamie, first I have to thank you for this very informative post which clarifies for slashdot crowd many issues involved.

      Re: Working on the code
      Yes, I obviously know about your work and mentioned it as one of possible bases to start off development, and I also know that it has been progressing slowly. If the bounty causes you to spend bit more time on the code (and join a team who'll do certain other pieces), that'd be the best possible outcome.

      Re: Homologation
      This is a tricky thing. Yes, you are right, legally, both hardware and software (in case of soft modem) must be certified for connection to phone system. I've been thinking how to handle this (as I definitely won't be able to fund certification of each individual hardware piece+software piece), however, I don't have clear handle on it.

      Hopefully, individual modem manufacturers will be receptive to the idea "How about you make your modem accessable to 10 more million people at an expense of (whatever part 68 certification costs)", at no risk to your intellectual property.

      I'm not even sure how (or whether?) do they certify each new revision of WinModem software. Is only software certified? (not likely!).
      Is each combo of hardware+software certified (expensive!). Do manufacturers certify one version only? (most likely).

      I'm going to find out, hopefully FCC will be receptive. If the latter is the case, that's the strategy we'll pursue.

  26. Sorry to pour cold water over the idea... by satch89450 · · Score: 4, Informative

    I'll be brief with the hurdles you will have to overcome:

    1. Certification: Part 68 certification applies to the entire device, hardware and software, and also applies to any modification made on the device, hardware and software, that can affect the transmitter. International certification is even trickier, and requires that the manufacturer have some standing with each country, although there are now some procedures to streamline the process (CTR-21 comes to mind). In all cases, certification must also be "owned by the manufacturer" -- and the GPL is specifically designed to have software NOT be owned by a single entity.
    2. Stories around the campfire: It's fine to talk about "standards", but be aware that the ITU-T standards are written in such a way that people who are not part of the inner circle will have significantly more difficulty creating working code. Standards only mandate the WHAT, not the HOW, and significant interactions between two ends are not described in the Standards. The fact is, modem design is a bit of a black art because you have to know signal processing, but you also have to know the quirks of the telephone system over which you operate. This is particularly true of echo-cancelling modulation methods such as V.34 and V.90. Getting that information is expensive. Very expensive.
    3. Patents: V.34 and V.90 modulation and demodulation have a number of patents currently active that would need to be dealt with. The problem here is that the companies holding those patents aren't going to provide RF licensing -- in the current economy the patents are significant sources of revenue and the owners aren't about to throw revenue away. You can't get around them.
    4. Testing: Proper testing of modem code is not trivial. I did it for magazines, for companies, and for end-users, and it's damn hard and not cheap. Proper testing would include both lab testing and field trials, with lots of parameter capture so the designer can see how a given connection fails.
    5. Lack Of Interface Standards: each HST modem product has a unique interface board, with absolutely no documentation available from the manufacturers (even when they want to give it out, which they don't) and completely different operation. Let me list the areas of differences: control interface; audio information coding; codec interface; sample rate setting (absolutely required for V.90); hook control; ring detect (I know one board that uses the audio path for this); impedance setting (complex versus fixed, 600 ohm versus 900 ohm, hybrid balance equalization); line monitoring for fax PNG detection while on-hook. There's more, but I can't think of them all.

    Motorola holds the base patents on host signal processing, and I'm not sure how the Open Source community can get around those patents. Given Motorola's hard times, I doubt anyone will convince them to provide a royalty-free license to the patent -- especially as they have a soft-modem product in the race. (But then again, they concentrate in the Windows marketplace, so a Linux license could happen...maybe...if the moon is right.)

    Then there is the CPU intensive nature of HSP modems. Depending on the quality of modem you are trying to do, CPU horsepower requirements are huge. A bare-bones V.34 implementation requires around 40 MHz of a Pentium-class CPU, while a robust bells-and-whistles version needs something like 90-95 MHz. Don't expect a 486 to handle the load. To be as good as possible on as many platforms as possible, the signal processing code would have to use integer arithmetic instead of floating-point, because the floating-point performance of x86 class processors varies quite a bit from chip type to chip type.

    Can it be done? Yes. Can it be done to the expectations of the Linux community? I don't think so, unless one of the big boys (Motorola, Connexent, Nortel, USRobotics) decides to weigh into the market and provide already-developed code and an interface.

  27. One of the patents is US4,558,302 by yerricde · · Score: 3, Interesting

    I'm investigating which precisely patents are these (some of them have patent numbers, some don't).

    One of these is U.S. Patent 4,558,302 on LZW compression that the V.42bis standard uses, owned by Unisys Corporation. Unisys's policy since mid-1999 has been not to license the LZW patent to free software projects.

    --
    Will I retire or break 10K?