About
Sorry, I have not yet written a comprehensive ”about” page for this blog. You may wish to take a look at the first two posts, “Control-Alt-Delete: a bit of History” and “Setting up a PIC environment (but which one? how?)” to get an initial idea of what the project is all about. If you want to read the posts in a chronological order, it’s a good idea to start from the first post and then browse your way through the “Next” link on each post.
A few personal details on myself, should anyone care: my name is Angelos Varvitsiotis, and I live in Athens, Greece. I am married to Evi, and we have one little boy (and now expecting a second one soon!) two little boys. I own a PhD in computer engineering, in the area of computer networking, and I work as a networking consultant. This means that electrical engineering, PCB design, and the like, do not have really anything to do with my real-life profession, nor with my educational background. I am an electronics enthusiast, which is what led me into this adventurous project. Besides that, it seems that my hobby list is quite long: I am a slow biker, an amateur guitar player, a moderate singer, a clarinet apprentice, and a low-grade flute player, not to mention quite a few other hobbies in which I have failed to varying degrees
.
Enjoy the blog!
June 9, 2009 at 11:49 am
Hi!
I’m interested in helping you with the USB FXS project. I have some free time at hand right now. If there is something I can do to help the project on, do let me know.
I am based out of India. I am not handy with electronics but can manage to get a board built, if that is required. I can, however, do Linux kernel and libusb coding. I have many years of VoIP experience.
Regards,
Saurabh
June 10, 2009 at 5:21 pm
Hi Saurabh,
Well, thanks, that’s a very welcome proposal! The project could for sure use some help in this area. I guess that, besides free time, having access to a working board is a prerequisite too… This means I need to build a couple more of them (one equals none, since one might fail — even my prototype has a bad contact somewhere and from time to time refuses to power up the DC-DC converter… anyway…) and send over to you one via the post (preferrably a working one
). Not something that I can finish by tomorrow, but I think I can manage it, so I ‘ll email you directly ASAP on the details.
Thanks again for offering to help!
Cheers,
-Angelos
July 20, 2009 at 2:27 pm
Hi!
I’m really interested in this project as it will help me to roll out inexpensive IP Telephony solutions in under-privileged communities in South Africa.
I have one important question though, will this device work in a linux box?. I have downloaded the project files and it seems to be MS VC project. I don’t think I will be able to help with the project in any way, but I will buy a lot of of them if they can work in a linux box and Asterisk without too much trouble.
Please let me know on which platforms I can use it.
Hoping to hear from you soon.
Cheers,
Denver
July 22, 2009 at 8:07 am
Hi, Denver,
Thanks for dropping by and for your interest in the project.
My understanding about the potential real-life value of this project is exactly in applications like the one you are mentioning. However, in its current state, the project is just an experiment progressing at a slow pace. While showing some encouraging signs, there is lots to be done yet in order to make the thing work as intended. The MS VC project(s — now there’s two of them) files that you saw on the Google code site are just for a test driver program, which tests connectivity, sets up values for the various registers of the chips, rings the phone set and outputs an audio file. Still not quite what you had in mind, is it?
The roadmap of the project is to produce an Asterisk-compatible driver for the board (of course, to be run on Linux boxes), which sounds more like what you need. However, as of today, it is hard to tell how far ahead this target is. By all means, the project’s goal looks doable; however, I tend to get stuck into various details (like bad audio quality, which is what I am currently trying to resolve) for long periods of time — especially keeping in mind that Open USB FXS is not at all my primary occupation. Eventually, bugs seem to get resolved in a way or another, and I am confident that this will be the case with my current issues as well. My next step, btw, is to try out the same userspace “driver” program under Linux, to see if I can get any better audio performance.
So, to answer your questions: hang on, Linux is on the way, and yes, Linux will be the final project’s platform. Let’s say that in a way it’s just a matter of time
.
Cheers,
-Angelos
September 30, 2009 at 5:40 am
Hi Angelos,
Not sure if you need help anymore. I am in China and I can help build, test and manfacture your board at low cost from PCB to full product. I have access to enormous types of IC components. I can help in design, testing and manufacturing of PCB, SMB, plastic case, label printing and product packaging. I have my own Tektronix Oscilloscope for troubleshooting. I have developed FXS and FXO modules based on si3210 and si3050 respectively for a PCI TDM card. They have been in production.
regards,
Vincent
October 6, 2009 at 2:22 pm
Hi Vincent,
Thanks a lot for volunteering to help. It is great to meet people who are willing to contribute in any way to an open-source project like openusbfxs!
Please, let me first spare a few words on the project’s current state. Since June, I have made little progress, mainly due to the fact that we now have our second baby to take care of (trust me on this, a baby eats up all of the time that one could afford to a “pet-project” like openusbfxs — double that, if it’s your second child!).
As far as hardware is concerned, I have one working prototype that I am experimenting with, plus a second one that doesn’t quite work and needs debugging and fixing (but I have no time at all to debug or fix that myself). I also have ready PC boards and materials for two more prototypes (but no time at all to assemble and test them).
As far as the board’s firmware is concerned, there is still some work to be done. Mainly, I think that the best way to proceed there is to off-load some functions from the PC onto the board (for example, checking for on/off-hook status, DTMF input, etc.) and to pack the communication for these functions along with the PCM audio data on the USB isochronous stream. Thus, the PC will not have to poll asynchronously the board for such events. Another direction would be to develop an audio-class USB device, but I am quite convinced that this is not truly needed.
The main body of effort that is needed is in the area of software (read: Linux device drivers). Lately, I have peeked into the DAHDI drivers (this is what Zaptel is called nowadays). Halas, it seems that the only way I could make sense of the code in there would be to lock myself in my cellar for weeks and study fiercely in complete isolation. And that’s something that I am unlikely to find the time to do for the next few weeks — or even months. The idea is to duplicate the driver for a TDM-based board that uses the 3210 and substitute the PCI communication with USB. It shouldn’t be impossible, but, as I said, it requires exploring and understanding the existing code.
Bottom line: I am welcoming warmly any effort that could run in parallel with my own (more-or-less quiescent-state-) efforts. Which means, if you can and want to contribute in any way to the project in its current, early-stage state, please let me know. If, on the other hand, final-stage mass production sounds more like what you have in mind, I would say that this would have to wait until the project gets to a more mature state.
Cheers,
-Angelos