EMU 1616m PCI on PC-BSD

OSS specific BSD discussion (FreeBSD/NetBSD/OpenBSD)

Moderators: hannu, dev, kodachi, cesium

Re: EMU 1616m PCI on PC-BSD

Postby cesium » Sun May 09, 2010 11:06 am

I've looked at the sources, and I think I know what the problem is - this audigy model is not controlled by an ac97 and neither the OSS4 or FreeBSD drivers are aware of it... Changing this will require some recompilation of either of them, and I'm not sure I can be successful (I'm not a dev). If you are prepared for this, let me know.
cesium
 
Posts: 903
Joined: Sun Aug 12, 2007 12:51 am

Re: EMU 1616m PCI on PC-BSD

Postby ememem » Sun May 09, 2010 11:15 am

You've done a great job so far and I do understand that you are not a dev (either way, whatever comes about from this, you're on my christmas list now! No joke. If we have to get into altering the kernel then I will have to think about that for a while and decide if that fits with the "making this possible with a default PC-BSD install". However, having said that, getting this sucker to work at all with PC-BSD is the primary goal. As long as I have time to make sure I've a vanilla kernel and some files backed up... I'll be ready to move forward. Meanwhile, the ossmix output is kind of interesting...

root@pcbsd-4269# ossmix

Code: Select all
Selected mixer 0/SB Audigy2 Value (Unknown)   
Known controls are:                           
line [<leftvol>:<rightvol>] (currently 29:29) 
line.rec ON|OFF (currently ON)                 
mic <monovol> (currently 18)                   
mic.rec ON|OFF (currently OFF)                 
cd [<leftvol>:<rightvol>] (currently 75:75)   
cd.rec ON|OFF (currently OFF)                 
igain [<leftvol>:<rightvol>] (currently 22:22)
aux1 [<leftvol>:<rightvol>] (currently 21:21) 
aux1.rec ON|OFF (currently OFF)               
phone [<leftvol>:<rightvol>] (currently 24:24)
phone.rec ON|OFF (currently OFF)               
autorese ON|OFF (currently ON)                 
spkmode <FRONT|SURR|FRONT+SURR|DISCRETE> (currently FRONT+SURR)
pcm.main <monovol> (currently 100)                             
vmix0-enable ON|OFF (currently ON)                             
vmix0-rate <decimal value> (currently 48000) (Read-only)       
vmix0-src <High|OFF> (currently Fast)                         
vmix0-outvol <monovol> (currently 24.7 dB)                     
vmix0-invol <monovol> (currently 25.0 dB)                     
vmix0.pcm1 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)     
vmix0.pcm2 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)     
vmix0.pcm3 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)     
vmix0.pcm4 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)     
pcm2 [<leftvol>:<rightvol>] (currently 78:78)                 
vol [<leftvol>:<rightvol>] (currently 74:74)                   
equalizer.prescale <monovol> (currently 100)                   
equalizer.lo <monovol> (currently 128)                         
equalizer.mid <monovol> (currently 128)                       
equalizer.hi <monovol> (currently 128)                         
equalizer.xhi <monovol> (currently 128)                       
equalizer.bypass ON|OFF (currently OFF)                       
front.spdif <monovol> (currently 100)                         
front.digcd <monovol> (currently 100)                         
front.ac97 <monovol> (currently 0)                             
front.pcm <monovol> (currently 100)                           
front.aux <monovol> (currently 100)                           
front.mic <monovol> (currently 100)                           
front.vol [<leftvol>:<rightvol>] (currently 100:100)
surr.spdif <monovol> (currently 0)
surr.digcd <monovol> (currently 0)
surr.ac97 <monovol> (currently 0)
surr.pcm <monovol> (currently 100)
surr.aux <monovol> (currently 0)
surr.mic <monovol> (currently 100)
surr.vol [<leftvol>:<rightvol>] (currently 100:100)
record.spdif <monovol> (currently 100)
record.digcd <monovol> (currently 100)
record.ac97 <monovol> (currently 100)
record.pcm <monovol> (currently 0)
record.aux <monovol> (currently 100)
record.mic <monovol> (currently 0)
record.vol [<leftvol>:<rightvol>] (currently 100:100)


Will next add the line 'audigy_digital_din=0' in /usr/lib/oss/conf/oss_sblive.conf, restarting OSS and test again... brb (have to get some coffee lol thanks for hanging in there with me cesium!)...
ememem
 
Posts: 11
Joined: Sat May 08, 2010 9:16 am
Location: Running, Amuk

Re: EMU 1616m PCI on PC-BSD

Postby ememem » Sun May 09, 2010 11:37 am

Ok, actually having a little bit of trouble here as there is no /usr/lib/oss directory and a search shows that there is also no oss_sblive.conf anywhere in the system. There is, however, a /usr/local/lib/oss/conf/oss_sblive.conf.sample but that is not a big help at the moment. I sense that this may have something to do with how PC-BSD differs from FreeBSD. Then again... what are your thoughts?
ememem
 
Posts: 11
Joined: Sat May 08, 2010 9:16 am
Location: Running, Amuk

Re: EMU 1616m PCI on PC-BSD

Postby cesium » Sun May 09, 2010 11:38 am

Yes, that's /usr/local (paths are different on FreeBSD and I use Linux so I gave you the not entirely right path). Anyhow, I doubt this will help...
cesium
 
Posts: 903
Joined: Sun Aug 12, 2007 12:51 am

Re: EMU 1616m PCI on PC-BSD

Postby cesium » Sun May 09, 2010 11:49 am

If/when this doesn't work, we can try modifying the native driver (a bit easier than modifying oss_sblive). Unfortunately, this may involve rebuilding the kernel.... Anyhow, looking at the native driver source (this file), I find the following:
Code: Select all
static struct emu_hwinfo emu_bad_cards[] = {
/* APS cards should be possible to support */
  536         {0x1102, 0x0002, 0x1102, 0x4001, "EMUAPS", "E-mu APS", 0},
  537         {0x1102, 0x0002, 0x1102, 0x4002, "EMUAPS", "E-mu APS", 0},
  538         {0x1102, 0x0004, 0x1102, 0x4001, "EMU???", "E-mu 1212m [4001]", 0}
The others "bad" cards are similar to yours... Well, the naive version of adding support would be to add the following line:
Code: Select all
{0x1102, 0x0008, 0x1102, 0x4004, "EMU1010B", "BlahBlahBlah", HAS_71 | IS_CA0108},
at about line 527 and hope it will work. I am unable to help much further with this, as driver programming is not my forte... Perhaps the freebsd-multimedia list can help more (with the native driver) or the oss4 dev list (with oss4).
cesium
 
Posts: 903
Joined: Sun Aug 12, 2007 12:51 am

Re: EMU 1616m PCI on PC-BSD

Postby ememem » Sun May 09, 2010 1:14 pm

I think line 527 may be left blank for a reason. It is possible that Yuriy attempted adding support for the card but the docking station interplay would not function... so he removed it and just left the line blank. It's also possible that he did not have the docking station physically available to him (in my experience with Russia, it is likely that this system is not readily available for purchase). Without any analog outputs on the card (see pic: http://www.emu.com/products/zoom/15189.html ) I'm pretty sure that a full test would have been difficult. Also, the converters in the 1616m are a bit different than the 1212m (not sure how this relates however). They have to be switched somehow internally, within the dock itself not the card... you can actually hear switches being flipped, when you change between the low 44.1k-88.2k and the high 96k-192k sample rates.

None the less. Thank you very much for all of the help this far cesium. I don't think we've wasted any time. This card/docking-station system is still out there, current and viable so it does need documented even if it's just some poking around in dark corners. Till next time. o/
ememem
 
Posts: 11
Joined: Sat May 08, 2010 9:16 am
Location: Running, Amuk

Previous

Return to BSD

Who is online

Users browsing this forum: No registered users and 3 guests

cron