Upping The Softmodem Code Bounty -- To $20,000 234
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.
Motivation? (Score:2, Interesting)
Greg
Re:Motivation? (Score:5, Informative)
One thing worth noting: he's 22 years old.. hmmm. According to his resume [formenos.org], 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 [linmodems.org].
Anyway, I think he is for rea and wish him good luck. Here's a picture [formenos.org] of our hero
Re:Motivation? (Score:2)
Began college study at age 12, completed first MS degree by age 16.
Re:Motivation? (Score:3, Funny)
ALEX PILOSOV
83-60 118 St., Apt. 7G
Kew Gardens, NY 11415
Re:Motivation? (Score:2)
Re:Some of his earlier work (Score:2, Informative)
with same name (my distant relative).
Re:Ferez? (Score:2, Informative)
The money involved is my savings, that's it.
Re:Motivation? (Score:2)
(Note that this is a joke so don't start arguing with me)
It's not the price, it's availability (Score:2, Informative)
Note that he found a hardware PCMCIA modem, inexpensive no-name, but he insisted to the salesperson to try it in his laptop before purchasing. He was lucky the salesperson allowed it. Oh, if you want a 3Com PCMCIA WinModem, I think he'll be happy to sell it to you. It won't be used anyway. :-)
I only have one modem, and old 33.6 TDK which I use occasionaly in my old laptop (for downloading email). That modem dates back from the times that softmodems were nonexistent, and everyone would have found it very strange to actually emulate a modem in software. Ah, the good old times.
Re:It's not the price, it's availability (Score:2)
Hardware PCMCIA modems are not as difficult to find as you imply... just check a Linux hardware database or run some searches on Google before buying.
My Linksys PCMLM56k+ (which is both a 10/100 ethernet and 56k modem card) has never given me any trouble in Linux.
But now I can leave that card at home when traveling, since the LTwindom drivers seem to work quite well on my laptop. The only glitch is that there is no sound output, but I can handle that.
Re:Motivation? (Score:2)
Note that the generic code he asks for does not make a complete modem program -- there is also going to have to be some hardware specific code. If you can't get the manufacturer's specs, that will be quite difficult, but to the guys that built the hardware, it's the easy part.
Re:Motivation? (Score:2, Informative)
No, I am not related to any manufacturer of any winmodem-related device.
Mirror of Text (Score:2, Informative)
Begin Mirror
Well, I had almost no replies to the original post, lets see if
quadrupling bounty will help any! The bounty is now 20000$.
Please, if you are interested, contact me.
Also note that I'm interested in either completion of Fabrice Bellard's
code (on http://fabrice.bellard.free.fr/linmodem.html) or Jamie Lokier's
code (on http://www.tantalophile.demon.co.uk/)
Hi,
I'm interested in completion of Fabrice Bellard or Jamie Lokier's GPL'd
softmodem code. I'm willing to place a 20000$ bounty on this project. If
you are interested in picking this bounty, please contact me for further
details.
Notes:
* Your code will be placed under GPL
* Code must not rely on DSP, pure C required.
* You MUST have background in signal processing
* You are free to reuse other GPL'd software (virtual UART and LAP/M are
ones that are already implemented in other software).
* Pieces needed to finish:
a) v.32/v.32bis modulation/demodulation
b) full v.34 negotiation (modulation/demodulation is done)
c) analog part of v.90 and v.90 negotiation
d) virtual UART
e) v.8 negotiation of all of the above
f) v.42bis/LAPM and MNP5 (and v.42 negotiation)
g) Hayes-like AT commands/registers (integrated with all of above)
I will provide the relevant ITU specs, test hardware, and specs for
testing.
If you think the bounty is inadequate, I'm willing to talk about price.
-alex
End Mirror
(slightly modified to pass
Re:Mirror of Text (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.
Re:Mirror of Text (Score:2)
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.
reminded me of a problem I had with my first computer where my sound stopped working and my modem got flaky at the same time. It turned out that my modem had spontaneously reinstalled itself as a sound card, replacing my existing sound card. I could pick up any phone in the house and hear whatever was supposed to be going to my speakers.
I got it fixed, but I never figured out how it happened. Ah, the joys of Windows...
The bright side, of course, is that was the event that first got me to muck about with drivers. The rest, as they say, is history!
Pure C, no dsp? (Score:2)
Can someone explain how this is done? Do most softmodems have a mode where they can just get/send a digitized version of the analog data to digital buffers? And if they do , do have any of these modems have documentation for this?
Yes i know this is inefficient and there are legal concerns, but is this even useful for MY rockwell hcf modem?
Re:Mirror of Text (Score:2)
-russ
Free software not developed for free :-) (Score:2, Insightful)
It's ok if it's not _developed_ for free... (Score:1)
Cheers...
Note to slashdot: communism just doesn't work (Score:2, Interesting)
The GPL needs just a little bit of capitalism in order to raise some capital to pay for vital projects. The reason why nobody uses Linux is not because MS has them brainwashed, or because they just haven't tried it or whatnot.
It's because in real life, Linux just plain sucks for the average computer user. Maybe with a little funding, Linux could suck less.
Re:Note to slashdot: communism just doesn't work (Score:2, Insightful)
Except, of course, that a metric fuckload of people do use Linux, and other free or open source software, every day. Hell, you used Slashcode to send your message, and you're using it to read this one now.
And free/open source software has nothing to do with communism.
Re:Note to slashdot: communism just doesn't work (Score:2, Insightful)
> Except, of course, that a metric fuckload of people do use
> Linux, and other free or open source software, every day.
You literally can't give it away for free, but there's nothing wrong with it? Someone's in denial.
Linux is good for what it does, but it sucks for the AVERAGE USER. You are not probably not an average user. Find one and try to get them to use Linux.
> Hell,
> you used Slashcode to send your message, and
> you're using it to read this one now.
Did I say all Open Source sucks? No. I use the Gimp for windows and...well, it sucks. But there are Open Source projects out there that are good.
What I'm saying is that with proper funds the programs would be better because companies or organizations could actually pay the people who work on it.
> And free/open source software has nothing to do with communism.
Comparing Open Source to the business model is remarkably similar to comparing communism to capitalism.
(OT)Problems with GIMP for Windows? (Score:2)
No. I use the Gimp for windows and...well, it sucks.
What kind of problems are you having with GIMP 1.2 for Win32? If you don't want to discuss them here, send me private email at
(Ever noticed the increase in +2 posts recently? The "No Score +1 Bonus" checkbox isn't working at all.)Note to slashdot: UI == OS (Score:2, Insightful)
Who cares how good the kernel is if the UI blows? Or if you can never install the darn thing? Linux has great potential, the only problem is that nobody cares about tweaking a version so that people other than the coders can enjoy it.
"Nobody uses Linux because MS has a monopoly." BS on a stick buddy. People install programs and games on their computers. If Linux didn't blow for home use by average people, more people would be installing it on their computers the same way they install other programs.
> Do you honestly think Linux is any harder to
> use than Windows? You really musn't know a lot
> about Linux. Much simpler and easier to use
> than Windows.
Manually mounting your drives before you use them is easier than automounting. Yep. Oh wait, that problem got fixed...years after it was fixed in windows.
It only took me six hours to install my copy of Linux! Ohayo!
Oh look, the GUI doesn't work...
Cool! By default it's butt ugly!
Oh boy! Oh boy! I have to drop to the command line to do anything remotely usefull!
> But the opposite is not true. Can you name me
> one decent closed-source typesetting engine to
> rival LaTeX? How about a closed-source browser
> to rival Galeon? How about a closed-source
> mailer to rival mutt? Can't be done.
Er...name an open source Photoshop. Open source Word. Open source Excel. Open source Quake3.
And if you say "Staroffice" or "Gimp" I hope a business user or graphics designer smacks you.
> What difference would it make? Linux is good
> enough as it is.
Except that it sucks, of course.
> All that needs to be done is to make transition
> easier, i.e. removing barriers such as MS-
> Office document formats, Ms-only hardware, MS-
> only software etc. The only reason MS is more
> succesful is because it was here first.
All that needs to be done is to find out why Linux sucks and fix the frizzgikin problems.
MS is partially successful because they were there first, but they also find out what the customer wants and gives it to them. The Linux team could learn a lot from them.
> Sorry to disappoint you, but Open Source is
> irrelevent to communism or capitalism.
Except that it's relevant. Capitalism is forced to give the consumer what they want (sort of...). Communism can sit on it's @$$ and wait in bread lines. Microsoft must give the customer more or less what they want, or they will die out. Linux is not bound by that restriction. Also, M$ has enough money to pay it's programmers. If there was open competition in the OS industry we'd see some real innovation.
> I think for absolutely ignorant computer users
> there will be no problems with Unix/KDE. These
> users couldn't install Unix, or Windows, or any
> software. They can click on their webbrowser
> and click OK and read their email and use a
> word processor. Hardware support isn't an issue
> as they can't install hardware anyway. IMO Most
> users are like this and Linux is perfectly
> suited.
Darnit freakin darnit. Find a computer user different than you and TALK TO THE DAM GUY! Not all people who don't want to install Linux are complete idiots. They just don't want to deal with the hassle. Think of it this way: Imaging you buy a car and it stalls as you drive it out. In order to start it up again, you have to press twenty levers in a certain manner. Because of this you're late to work and you get fired. Then the engine explodes. This is what Linux looks like to many normal computer users. Normal computer users don't use the computer because they like fixing problems. They use it to accomplish a goal. The computer is a tool. They don't want the tool to sit there and break, they want it to be transparent so they can do their work.
Suggestion: Talk to:
-a computer newbie.
-a business computer user.
-a graphics designer.
-a gamer.
Find out what they're like. Linux could meet their needs if only the Linux community realized that the needs existed.
> For expert computer users a Unix wins over
> windows for remote administration and
> stability. Windows may win in the future but I
> doubt it.
Unix: better as server/programming.
Windows: better at gaming/newbies/home use.
Macintosh: better at graphics.
With a few changes, Linux could rock at home use.
> What kind of problems are you having with GIMP
> 1.2 for Win32?
The user-interface was designed by either a sadist or a masochist. Or both. Aside from that it's a pretty good program, despite the occaisional glitch and crash.
Note:
The reason why I'm so pissed with Linux is, ironically, because it's so good. It IS an excellent operating system...the only problem is that the people designing it either don't know or don't care about what normal computer users want. Microsoft does. That's why they're kicking Linux's @$$ on the desktop. Having a monopoly doesn't hurt too.
Aside from that, I've been trying to get the GUI working properly for the past two freaking years. I installed mandrake n.n and everything seemed ok...until I saw that by default it couldn't read windows drives. At this point I was just so disgusted at the shortsightedness of whoever designed the darn thing that I installed cygwin under windows and used that to do most of the work. Bleah. At one point in my life I was a Linux zealot...but then I found out what Linux was really like. Now I try to admit it's good points and point out it's flaws. At the current point in time, Linux truly does suck for the average user.
Hint to Linux designers: talk to people who are NOT computer programmers. Talk to newbies. Talk to graphics designers. Talk to gamers. Find out what they want in an operating system. Don't assume that everyone who doesn't use Linux does so because they are at fault. They aren't - Linux is. Don't assume that everyone who hates Linux because they can't get it to work or because it doesn't work they way they expect it to is an idiot. They're not. Whoever designed the thing is an idiot for not designing it properly. And the sooner people admit that, the sooner they'll start fixing the problems. And the sooner Linux will stop sucking.
Hooboy. Look at that karma plummet.
New name needed? (Score:1)
Re:New name needed? (Score:1)
Re:New name needed? (Score:1)
How about softmodem or softwaremodem... duh... :)
why is it worth 20000$? (Score:1)
Re:why is it worth 20000$? (Score:2, Interesting)
As to why it is worth $20,000 to this guy personally..I have no idea?
Re:why is it worth 20000$? (Score:2)
Not everyone has access to broadband. I would guess it's about 50-50, and of those that could get it, most have no need for it, certainly not at $50/month. How many of them use Linux? Probably not many, and it's going to stay that way if they can't get their modems to work. There are also plenty of Linux-users who are still modem-bound, and real modems are expensive, and not that easy to find in the 56kbps variety. When you can find one, you're looking at $70 vs $20 for a winmodem.
Another thing somebody mentioned was laptops, which tend to come with built-in winmodems.
It comes down to this; if you bought a computer in the last 2 years, laptop or desktop, it came with a winmodem. Most people hate it when you tell them they need to buy more hardware before they can do what they want to do. They want everything to work out of the box. Therefore, real winmodem support is absolutely essential for Linux's future on the desktop.
If this guy has a bunch of people working in the field on laptops, it could easily be worth $20k to his company, especially if it means breaking free of the Windows upgrade cycle, which would likely cost them a lot more than $20k over the life of those laptops.
Re:why is it worth 20000$? (Score:2)
Ask yourself why MS has been making such inroads in the server and embedded markets. Is it because their products are better? Nope. It's because the people who pay for these projects see it every single day, every time they boot up their computer, and they trust what they know.
Most technical products don't get approved based on technical merit, they get approved based on marketability, and marketability is heavily dependent on familiarity. People are more likely to buy what they know, even if it sucks. That's why Ford sells more cars than Subaru, and Chicago Cutlery sells more knives than Cutco. Marketroids call it "Brand".
Linux doesn't need to succeed anywhere for it to continue to exist, but if it doesn't, what's the point? And how can it succeed anywhere without visibility? What better way is there to acheive visibility than by succeeding on the desktop.
Re:why is it worth 20000$? (Score:2)
The charges to long distance carriers are mostly to cover the costs of the universal access requirements (they're required to provide service to small and remote communities that aren't profitable). Alternative broadband providors are literally renting space for their equipment in the CO in addition to any network access charges they may have to pay.
I don't know anything about the Canadian telephone system, so I can't really say why it's so much cheaper. Here are some things that might reduce costs though:
Nationwide provider. Competition is great in a lot of ways, competition generally drives prices down. But it also increases the operating costs of the competitors, which raises the minimum price that a service can be provided profitably.
Government provider. This generally hides a portion of the cost from the consumer through tax subsidies. The government isn't necessarily providing directly, it could be subsidizing a private company to do so. The end result is the same, though. If the government is providing directly, the requirement of profitability is theoretically removed, which could be to the consumers advantage provided beuracracy is kept under control.
I don't know if that answer's your question or not...
But, why? (Score:1)
Just curious, if I had the time and inclination to learn grungy DSP processing in C it'd be an interesting challenge
Re:RTFA (Score:2, Insightful)
No, you're getting it wrong. The code must not rely on the onboard DSP-chip that some modems hade, rather do all the signal-processing in software. If you don't process the signals, you can't have a modem, duh...
high price for a modem (Score:3, Interesting)
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.
Re:high price for a modem (Score:5, Insightful)
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.
Re:high price for a modem (Score:2)
Don't give up on your T21 so quickly; odds are pretty good that it will work fine. I have a T21 whose modem I've used under Linux in Hong Kong, France, Germany and many places in the U.S.
There is a possibility that your T21 has a modem which Linux does not have kernel support for. If you have a Lucent modem or an MWave modem you'll have no troubles, but I believe there is another modem in some T21s.
Of course, there is another option that is guaranteed to work very well: Spend $100 on a decent PCMCIA modem and never worry about it again.
Re:high price for a modem (Score:3, Interesting)
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.
Re:high price for a modem (Score:2, Interesting)
Think about it, worldwide, there are actually VERY few broadband home connections. Modems are still far and away the most common means for accessing the internet. So if there is ever going to be a hope for getting linux on the desktop, it WILL need good softmodem support.
Besides, think of how many OEM machines in the last 5 years came with v.90 winmodems standard. The number is pretty damn high. You won't win too many converts by telling them that the first thing they need to do is buy a new modem...
Re:high price for a modem (Score:2, Interesting)
I think I can almost agree with you. Personally I believe that the best way to do is simply not to mess with winmodems. Think about it, you need a realtime thread to run the code to get good performance (or even to stay connected! in some cases anyway) and that will interfere with the operation of your computer system in a way no winmodem does with windows, simply because you are not using the DSP. As others have pointed out, using the DSP is infeasible because everyone has a different DSP and you'd have to write code for all of them. Of course, this is not impossible, but you'd need to spend more than $20k to get it, and he doesn't want it to be through DSP methods anyway.
My feelings, however, are that we should be supporting companies who develop drivers for their products on linux, even if they're not open source. Also, if you want a cheap non-winmodem, you can pick up used 33.6Kbps external modems for very cheap ($20 or so.) Sure, they're not the latest greatest fastest thing, but anyone trying to do anything which requires bandwidth with a modem of any sort is in for a nasty surprise anyway.
Supposedly some cellphone companies are now offering free unlimited internet access from their phones now (at modem speeds) via IR and such. So anyone can get a cheap connection anywhere; Plans with those companies begin at $30/mo with all the night and weekend minutes you can eat, plus free calls in your three-state area or whatever, so it's your phone and your ISP and the price starts to look reasonable. DSL and Cable begin at $40 ($30 for cable modem access if you already have cable, in my area) per month and the coverage areas are growing rapidly. Also, the satellite service (which the bastards are calling DSL, ostensibly for digital satellite link - don't they realize how bad they need a foot up their @ss for that one?) is pretty cheap, though I don't recall how cheap, and faster than ISDN anyway, although it has higher latency.
So basically, there's nowhere you can't get broadband of some sort. If you really need a modem link, you can always get a used modem, slightly slower (Most people in the boonies only get 38K or so connections anyway (when they're lucky), I usually got 31.2 out of my 33.6 modem, which is close enough) but good enough to get the basics done, download drivers and such (except nvidia's) and basically get things done. Email, light web surfing, et cetera. I used to have a UUCP feed with five groups on a 9600 baud modem, but times have changed.
So I think that supporting this technology which was lame to begin with is, of course, lame. If your foundation is stupidity, then your house will be idiotic.
P.S. Please pardon my nested parens. Then again, most of you will probably have no problem with them...
Well, it's cheaper than $200,000 per family (Score:2)
seems to me that $20,000 is an awful lot to pay for the ability to reliably run softmodems in linux ... with the prevalence of high speed connections these days
Not all areas have high-speed connections (on the order of 200 kbps or more), especially rural areas. Would you rather have your company pitch in $20,000 to fund development of portable softmodem code for its employees' laptops or pay $200,000 per employee to move their families [evilpigeon.net] to an area where consumer broadband is available?
Oh no... (Score:1)
Reasons why this would be interesting! (Score:5, Insightful)
- 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
Another reason where it could be useful. (Score:3, Interesting)
Unfair? (Score:1)
You *need* DSP background to be serious about it (Score:2)
Well, it's not really unfair, as a formal background in digital signal processing is unarguably required to be a serious developer of this type of code.
Re:You *need* DSP background to be serious about i (Score:2, Insightful)
Understanding DSP is what is required. Experience helps but some of us are capable of learning new things and being productive out-of-the-box.
Re:You *need* DSP background to be serious about i (Score:2)
Re:Unfair? (Score:2)
Yeah, just as unfair as the fact that you have to learn to read before you can read a book.
If I am interpreting the article correctly, he is demanding formal education in signal processing. I'm sorry, but that is unfair. I don't need a piece of paper to tell me I know what I'm doing. I design embedded industrial control systems for a living without that piece of paper, than you very much. If I'm interpreting the article correctly, this guy is demanding the pinkie ring engineer type. No thanks.
Re:Unfair? (Score:2)
restrictions? (Score:2)
So if somebody WITHOUT background in signal processing will write the working code he will be not eligible for the award?
Re:restrictions? (Score:5, Insightful)
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
Re:restrictions? (Score:2)
This is not a toy project. The knowledge needed to complete it is significant. I wouldn't expect someone who already HAD implemented a modem, but I expect someone who knows what signal processing is all about.
I'm sure that Linus had some knowledge of OS concepts when he started writing Linux, by that, I mean knowledge of things like design of scheduler, message passing, etc, etc.
In the same way, I expect that people who would develop this code would have knowledge of filter design (FIR, etc), and
Re:restrictions? (Score:2)
Re:restrictions? (Score:2)
I think this term of the bounty is probably its major flaw.
Re:restrictions? (Score:2)
No, what he's saying is someone WITHOUT background in DSP will NOT be able to write the driver, as you must have intimate knowledge of DSP in order to write the driver in the first place.
Bounty won't matter much. (Score:5, Interesting)
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
Re:Bounty won't matter much. (Score:2)
I don't think that this is correct. A winmodem is mearly a sound device/sound card with a telco interface. The telephone companies have to make sure that you won't wreck havoc on their networks. Thats also a driver issue
Re:Bounty won't matter much. (Score:3, Informative)
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.
Re:Bounty won't matter much. (Score:2)
Re:Bounty won't matter much. (Score:2)
But a bad driver will only send wrong signals, resluting in the modem not working. I don't see how this will cause any damage to the network?
v.90 is limited to 53k by the FCC/CRTC because the code patterns to hit 56k interefere too much on ajacent pairs in the trunk. k.56flex wasn't limited to this because the coding didn't have as high energy levels. Put the wrong signals out there and you can cause trouble for everyone on your trunk.
While the previous paragraph is true, I don't see how the software drivers are being certified at all; I can download the Wang-Fu driver from Taiwan and use it in North America without certifying it. I've been kind of wondering about this because our NASes are recording the odd incoming connection at 56k, even though it's not supposed to see anything higher than 53k due to the FCC/CRTC restrictions. I know the digital modem firmware is international though, so it must be non-certified analog modem drivers (or IOS bugs) doing it.
Re:Bounty won't matter much. (Score:5, Insightful)
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 [part68.org]. 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...
Re:Bounty won't matter much. (Score:2)
This hasn't been true on phone lines just about anywhere in the US for years. In the old days trunk lines used in band signalling, but the telcos finally got smart and switched to out of band signalling. Phone lines have a low pass filter at 300Hz and a high pass at 3300Hz, so you just aren't going to generate signals that can get outside your chunk of bandwidth. This also the reason that modern modems have to use so many modulation tricks to get the speeds they do, because there is a limited range of frequencies they can use.
As for putting 120VAC through the wire, it won't cause nearly as much problem as you might suspect. Ring voltage is somewhere between 48VAC and 57VAC, so 120VAC isn't that far out of spec. It depends on what is between your demarc and the central office switch. If you are on a digital multiplexer you might blow something there, but if you have a copper pair all the way to the CO there will probably be enough voltage drop that you won't likely damage too much on their end. The wire run to houses is pretty thin guage, so it probably won't carry too many amps before it gets hot enough to melt. You can bet the telcos have seen this sort of thing happen before (there are some really stupid electricians in the world!
1 universal driver??? (Score:4, Informative)
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...
Stay away from this path! (Score:2, Informative)
Its explictly required that the driver in question doesn't rely on DSP code which then translates the project into:
Bounty $20000 for developing an application that will bring your computer to a crawl.
Re:Stay away from this path! (Score:3, Informative)
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.
Far less than 10%. (Score:2)
`top' tells me my system is 97.2% idle.
The "CPU suck factor" of Winmodems has been grossly exaggerated.
Re:Stay away from this path! (Score:4, Funny)
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
Bountys - a great Way to fund development of OSS (Score:3, Interesting)
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.
Re:Bountys - a great Way to fund development of OS (Score:3, Insightful)
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.
Re:Bountys - a great Way to fund development of OS (Score:2, Insightful)
"so you'll end up rewarding the person who can produces the crappiest software to a minimum standard faster than anyone else! "
Isn't that how most commercial software is created??! - I think that once complete, the software should be vetted by a third party, who can establish if the program is written to pre-agreed standards. If a program that bairly meets the spec, is released then the chances are that the authors wont see a dime.
Re:Bountys - a great Way to fund development of OS (Score:2)
I don't think you'll be able to hire someone with signal processing experience for $20,000. Not if the project is going to take more than a couple of months, in which case, why hasn't it already been done?
Re:Bountys - a great Way to fund development of OS (Score:2, Interesting)
The project will take anywhere from 6 man-months to 12 man-months by my estimates.
Re:Bountys - a great Way to fund development of OS (Score:5, Interesting)
linuxfund.org
?
Patents on modem algorithms? (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 [itu.int], the standards body that defines these modem standards, allows what the W3C calls RAND licensing, as they state in patent policy [itu.int] (excerpt):
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.
Licensing too. (Score:3, Insightful)
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.
Re:Patents on modem algorithms? (Score:2, Informative)
Notwithstanding this, there ARE patents in the general area:
SMLink has bunch of patents, but they are all (again, to my knowledge) in hardware-chipset area, not in driver area.
PCTel also has patents in the same area.
Rockwell and Agere have patents in DSP-modem area.
There are patents for the algorithms involved in v.34 and v.90, however, I believe they all can be either avoided (by implementing differently), or denied by presenting prior art, however, they are the biggest threat.
These patents are owned by PCTel and SMLink. I'm still in process how to avoid them.
Winmodem hardware compatibility (Score:3, Insightful)
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).
PCMCIA modems for under $20 (Score:4, Informative)
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.
Seconded! (Score:2)
This is much like the situation with web pages and high-end monitors -- yes, of course web pages should be designed to be accessible on small monitors, but you yourself will be much happier with a large monitor.
Anyone who complains that "real" modems are too expensive doesn't know how to buy from pricewatch. On any given day, a search for "external serial modem" will return a bunch of real modems for under $30. To put this in perspective, a phone line plus an ISP account usually costs over $30 for a single month!
The benefits of a real modem are well worth the price. A year ago I bought an external serial modem from pricewatch for $30 (plus 5 shipping). This thing gets me ~50k throughput, much better latency than a winmodem, and works on either a desktop or a laptop (it's smaller than a deck of cards, and it's powered from the PS/2 port, not the wall outlet). Linux support is a nice bonus, but, honestly, a real modem like this is worth it even if you use windows only.
In summary, a linux winmodem driver is a worthy thing for the masses, but you deserve better than that.
Re:PCMCIA modems for under $20 (Score:2)
Each of which is, you guessed it, a Winmodem! Believe it or not, most PCMCIA modems ARE Winmodems. I found this unfortunate fact while shopping for a new modem for my laptop recently, at the local CompUSA, 8 out of 9 cards were Winmodems - the one hardware based modem was over $100.
Even generic, no-name PCMCIA hardware-based modems seem to be at least $50 or so.
Who pays the lawyers? (Score:3, Insightful)
If you have to pay the lawyers from your $20,000, this doesn't appear to be a fair deal.
Screw Microsoft and promote the uptake of Linux (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.
Re:problems (Score:4, Insightful)
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.
How do we know that this is genuine? (Score:5, Insightful)
Perhaps if he placed a deposit with some trusted third party (Mad Dog, Eric Raymond etc) people might be happier to devote the time.
Why require Compression?? (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.
Burn All V.42bis (Score:2)
requiring Compression adds a substanial amount of work
I don't think we're likely to see V.42bis compression support in free software for several years, as the V.42bis standard requires the use of patented LZW technology [faqs.org], and Unisys refuses to license LZW for use in free software [burnallgifs.org]. Feel glad that patents last only 20 years after filing and not forever like copyrights [everything2.com].
Isn't motivation obvious? (Score:3, Interesting)
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!
Some facts about software modems (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
Re:Some facts about software modems (Score:2)
-russ
Re:Some facts about software modems (Score:3, Interesting)
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.
One of the patents is US4,558,302 (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 [faqs.org], owned by Unisys Corporation. Unisys's policy since mid-1999 has been not to license the LZW patent to free software projects [burnallgifs.org].
Sorry to pour cold water over the idea... (Score:4, Informative)
I'll be brief with the hurdles you will have to overcome:
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.
Counterexample (Score:2)
The Linux install is RH 7.2; I'm in X right now, running Sawfish, GNOME 1.4 and Nautilus. On top of that, I just closed out some KDE apps (I prefer KMail over Balsa), so there are probably still some KDE things running--the DCOP server, etc. Galeon, Pan, gnome-terminal and a Python program (a small MUD client I hacked together with PyGNOME) are all running.
11:39pm up 3:26, 1 user, load average: 0.12, 0.08, 0.07
71 processes: 69 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: 1.5% user, 1.1% system, 0.0% nice, 97.2% idle
Mem: 126644K av, 123836K used, 2808K free, 1828K shrd, 3692K buff
Swap: 136512K av, 41484K used, 95028K free 29188K cached
... I don't see the performance hit, myself. If the Winmodem was just "sucking up" CPU cycles, I wouldn't expect to see my PC 97% idle.
Re:First Toast! (Score:1)
Really though, this would be a tremendous leap forward, hopefully someone with more skills than I can complete this code.
Re:For 20.000 bucks.... (Score:1)
you've got a point there i suppose...
that is a troll...or karma whore? (Score:2, Informative)
this article on zdnet. completely copied including spelling errors.
by Kai Vuorinen
date: Tuesday Oct 12, 1999.
Is this still all true?
MOD UP!! (Score:2)
Re:Linux doesn't support many modems (Score:2)
"Another serious setback for Linux is the lack of a journalling file system. Hu, get out. [redhat.com]
"It just isn't there yet! Too bad I will have to wait many years for Linux to become a viable option in the operating system arena."Too bad it can't run on any of the worlds busiest websites. Slashdot recieves close to 2 million hits a day. I wonder [zdnet.com] what OS slashdot runs on? [netcraft.com]
"Please, let us also be honest and present Linux and all its many shortcomings when you are downtalking Windows."....and please be honest and present Windows and all its many shortcomings when you are downtalking linux. [zdnet.com]
No OS is perfect but the fact of the matter is over a that over a third of websites run linux and we are the fastest growing OS out there. Only Windows and Macos has more users. I couldn't find the link in time( I have better thigs to do). This shows linux is not as bad as many like you think. Sure no OS is perfect but the links above show linux is quite powerfull and ready for the enterprise in most situations. Alot more then Windows I may add.Also I am very suspicious with anyone with the word troll in there name.
Re:Linux doesn't support many modems (Score:2)