Behringer [was Re: [linux-audio-user] Re: [linux-audio-dev] RME is no more]

Michal Kostrzewa m.kostrzewa at pentacomp.com.pl
Thu Dec 2 08:49:04 EST 2004


> >
> Just out of interest, what card are you reverse engineering?
> 
LynxAES16. I had the same talk to the manufacturer as Marek, so I
understand him fully. Talking to them can be somewhat frustrating
experience. They didn't give me the specs despite my promise to sign
theirs NDA. That was strange, because their web site said they will
support any user with unsupported system after signing the NDA.
BTW, I discovered this driver should work with any Lynx cards :)
appropriate if's are in the code :)


> I have a Guillemot Maxi Sound ISIS which I'd be very interested in 
> finding ALSA drivers for. The card is unsupported, and only has Windows 
> 98 drivers. I did subscribe to a list involved in working on the driver, 
> but have lost the relevant URL, and didn't hear any more. As a graduate 
> of "Electronic Engineering with Music Technology", do you think I could 
> make any progress myself? Where might I start?

To reverse engineer a driver you have to:
- know assembly language (however extremely deep knowledge of every
instruction is not necessary. It is important to know how the compiler
produces machine code - stack frames, basic c instructions, and so on)

- know how devices work (e.g. PCI communication) and the mechanisms of
operating system (e.g. responding to interrupts, memory management) and
common practices used in audio hardware

- know how to write drivers in windows - you have to know the API one
has to use and interfaces one has to implement to write the driver

- know how to write alsa drivers for linux.

- have plenty of time :) Automatic decompilation is theoretically
impossible in general case (as the algorithm is separated from the data
structures), but doable. But keep in mind that disassembling the driver
is only the first step. You have to
  - discover data structures used by the driver
  - discover function signatures used in the driver
  - discover proprietary protocol used to driver-device communication
  - writing the actual linux alsa driver is the smallest part of work
comparing to decompilation


> 
> I probably won't find time - I'm driving around a lot for my boss at the 
> moment, and need to spend time (and money!) working on my car too. The 
> lack of time and money is also what drives my desire to get the card 
> working under Linux. 

You may give yourself a try, I assure you it's an interesting
activity :) but time consuming and there is no sure it will end with
success. You've been warned :)

best regards,
Michal Kostrzewa





More information about the Linux-audio-user mailing list