Older blog entries for Creslin (starting at number 9)

Wow, I haven't posted for a LONG time. Well, I took a 2 year sabbatical (in a manner of speaking) and forgot how to use a computer. I basically didn't touch a PC/The 'net for two years. I'm back now, working back again for Digium (former Linux Support Services) and crankin out code. It was weird, I had to basically relearn how to use Linux again when I got back, but Mark still wanted me to work here. Let's see, what have I been doing lately...

A lot of work on libpri/Asterisk. I've working on adding QSIG features to the libpri stack. The hardest part about it was figuring out how to read the standards documents. Oh yeah, and turning my brain into an ASN.1 encoder/decoder. :-) I was trying to avoid that the whole time but it was in vain. I have calling name (receiving) done, also interpret the divertingleginformation2 argument type. I'm going to do MWI stuff next. I'm also looking into getting TBCT (Two B-channel Transfer) working, as well as the TR-08 signaling protocol (It's kind of like GR-303). Oh yeah, and trying to hang out with a girl that I like, and get decent grades in school. Phewww. I don't know what else to write, so this is it for now.

Hey everyone,

I recently took the jump and converted my work box over to devfs. In turn, I added devfs support into zaptel (a new high-end telephony interface for linux). Now if you register a zaptel device with the framework, device files will be dynamically created (if you're using devfs).

Today I'm working on getting this quad port usb card working with the linux usb-ohci driver. The card does not seem to act in a manner that the usb-ohci driver likes, and so I'm debugging it. A big problem is that the module author did not seem to do all the cleanup necessary upon failure of a device probe. Now I have to write cleanup code too. Ugh.

The cool thing about this card is that it has for root hub ports on it. That means that each port has 12Mbs available to it. And it's OHCI, and my on board VIA chipset is really crappy with USB. There's something messed up with it or the uhci drivers, and I don't know enough about uhci to do tuning according to chipset.

Finished first version of ALSA channel driver for Asterisk, it can be found on the CVS server. Woohoo! I think the only major problems that are left are fine tuning buffer sizes. Ugh....

hrm... Looks like I'm going to take over maintaining of Gnophone. It's a neat application that acts as a VoIP endpoint for Asterisk. It talks the IAX protocol, and has support for OSS and older 0.5.x ALSA soundcards, zaptel devices, and the quicknet products (phonejack, etc). It'll be interesting to see how things go with it. I think I'm going to write a simple IAX client that runs as a daemon in the background and drives a phone. Kind of a simple version of gnophone, or asterisk. I think now that I've got this alsa stuff down, I'll write a newer ALSA driver for it, for the pre-1.0 releases (that's the version of ALSA the new asterisk driver uses).

Ok, back to work...

Long time, no see...

Personal: Had a nice long christmas vacation. I ended up spending time with the family and going to Panama City. Had a great time there, we were able to swim in the ocean on Dec. 30th, which was quite amazing for me. Got a little bit of work done, but mostly relaxed. Ahh....

Work: Ok, getting back into the old grind for work and all. I was previously working on the Creative VoIP blaster, but the guy who's working on the Linux Telephony driver seems to be doing quite a good job on it and doesn't appear to need much help.

I'm kind of getting started with writing an ALSA channel driver for Asterisk, I think it's going to be pretty fun. ALSA is a really neat project.

Also, I think we're getting ready to manufacture our quad span T1 PCI card, so things have been getting kind of rushed around here. Mark spent his holidays in Egypt, and managed to acquire a nasty bug while he was there. It's weird not having him around the office.

Hrm... what else. Oh. I just read this REALLY funny saga of a spammer (we're talking about literally rolling on the floor and laughing here) at this site. Good read.

Can't think of anything more right now, I guess I'll update later.

11 Dec 2001 (updated 8 Jan 2005 at 18:13 UTC) »

Wow, haven't posted in a while. Well, here goes...

Got the little USB phone completely working now, incredibly convenient device. Now I get to re-write the driver so it scales better to more varied devices based on the tigerjet USB chipset.

Tigerjet is now supposed to send me another phone unit with a buzzer to use as a ringer. Should be relatively easy to implement.

Oh yeah, new toy. Now I get to work on drivers for the little Creative VoIP Blaster (voipblaster.creative.com I think). It's a pretty amazing little device, and will be interesting getting it working considering I don't have any REAL documentation on it. It has one major flaw: it uses G.723.1 as it's native VoIP codec. This is a codec that is covered under software patents, so that REALLY sucks for us Open Source Software developers. I think I'll just extend my work off of one of the sourceforge projects so that I don't end up reinventing the wheel. The particular one I'm looking at doesn't appear to have (among other things) read and write support working. This will prove to be interesting...

Some links: http://www.fobbit.com

ok... getting distracted... I'll just end now

4 Dec 2001 (updated 16 Feb 2005 at 15:47 UTC) »

Ahh... Start of a new day.

My dvorak is getting unbelievably faster now; I'm quite amazed. My dvorak to qwerty transitions aren't so bad now either. That's REALLY good.

I think today I'm going to see about finishing up the support functions on the little USB phone. Then I can start using it as a mobile VoIP phone with asterisk and gnophone. Very convenient.

Hrm... back to work.


It works now!!! I can now detect which digit is being pressed by the phone. This is 'ver nice.

Back to reality... : )

Now's going to be the interesting part. I'm going to have to insert dtmf tones in stream depending on what digit is being pressed... time to go again.

This morning was interesting, working on some new stuff in calculus. Kind of surprising considering we have our exam next week. Crazy professors...

All the regular transfer stuff works on the tigerjet phone now, it was a stupid little mistake I made in assuming some things about the integer equivalents to enums. ugh. Called the guys over at tigerjet to see if there is any initialization code to read the keypad... Nope. At least my urbs are going through w/o error, now I can start debugging the data I'm getting back and see what's flaking out.

This evening consisted mostly of working on more calculus and doing a sanity check just to make sure the keypad actually works (I hooked it up to a *cough* windows box). The funny thing was, was that I had the hardest time trying to find one. I now know that we only have one at work, and that's only for doing some vhdl code for some parts we're working on.

Going to catch up on some sleep.

Wow, today has been interesting, where to begin...

More work done on that little USB Phone. I ended up breaking the transfer code in all the changes I had made to my original code. I think it might be somewhere that I changed the transfer API that sort of took the rest of the driver with it. Ugh.

Probably need to update my webpage this week, that's going to be a pain. Maybe I'll just forget about it for a while like I always do.

I'm kind of glad that I tried testing my driver against all the other hardware today, don't think I would have found out nearly as quickly why I was getting that -EPIPE urb status.

Note to self: get more sleep

26 Nov 2001 (updated 26 Nov 2001 at 22:05 UTC) »

Catching up on lkml and working some more on this stupid little USB phone. The guys at TigerJet have a little USB handset that I'm writing a driver for that works with the telephony framework Mark Spencer has been working on (Zapata Telephony Interface).

Audio I/O works just fine now, trying to get the buttons to read correctly now. It looks like it's going to be a bugger. They have a weird matrix set up to do digit state that needs to be correctly read...

As sood as I get this thing working I'll have a mobile phone I can use with Asterisk and Gnophone. That'll be REALLY nice.

Still need to test my driver modifications with some of the other hardware though... that'll be interesting.

I switched from qwerty to dvorak a week or two ago. My dvorak speed is catching up at a significant rate. I'm really surprised how easy it was to switch. I'm kind of having troubles switching back and forth between the two though, it takes me a second to mentally switch modes. I think the worst part about it is relearning how to use vi with the different keys.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!