[lkml]   [1998]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 2.1.94 breaks ALS-100 SB16-compatible soundcard

    > > in both 2.0.xx and 2.1.xx kernels, but linux-2.1.94 incorrectly
    > > identifies the card as being ALS-007 based. Quake still runs,
    > > but produces no sound. (No errors in any logs.)
    > Well its close - its identifying it as an ALS card because it has the
    > original registers

    This is interesting from 2 points of view - one is that the ALS100 does
    actually work now. The other is that it seems to utilize registers that
    are used by the ALS-007. In response to the latter, what a pain.

    > > I'd be happy to run some tests so that we can work out the
    > > proper way of identifying the ALS-007 and ALS-100 chips.
    > It may not be that easy to arrange. I will add an als007 parameter
    > to the sb module for the moment.

    It *may* be easy to implement - it depends on the behaviour of the ALS100.
    The ALS007 initialises with 0x1f in each of the 0x3c and 0x4c mixer
    registers. If the ALS100 has a different number here we could perhaps use
    that to differentiate the cards. Is it possible for you to find out what
    mixer registers 0x3c and 0x4c contain on the ALS100?

    (btw, for those interested, the main reason for the !=0 test rather than
    ==0x1f is that in the case of the latter the driver *must* make sure that
    these are properly reprogrammed to 0x1f when the driver exits - otherwise
    the detection won't work at all on the next module reload.)

    Another possibility is to utilize the fact that the ALS007's mixers are
    only 16 levels whereas the ALS100 has 32 levels. That is, the ALS007 does
    NOT have the SB16 mixer registers. Therefore the definitive ALS007 test
    could become (mixer reg 0x3c != 0x0) && (mixer reg 0x4c != 0x0) &&
    (some SB16 mixer reg not used, ==0 or something). Looking through the SB
    documentation, there is a status (mixer) register at 0x82 which should be
    !=0 on SB16 but which i (don't think) is used on the ALS007. So this may
    be worth pursuing. I'll look into this tonight. While you're getting the
    values of the 0x3c and 0x4c mixer registers, could you also see what 0x82
    contains? Thanks.

    > > Audio devices:
    > > 0: Sound Blaster (ALS-007) (4.2) ; should be: Sound Blaster 16 (4.2)
    > Well should be Sound Blaster (ALS-100) ;)

    Depending on what happens above, this may be possible.

    * Jonathan Woithe *
    * *
    ** "Time is an illusion; lunchtime doubly so" **
    * " wouldn't recognize a subtle plan if it painted itself purple *
    * and danced naked on a harpsicord singing 'subtle plans are here again'" *

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to

     \ /
      Last update: 2005-03-22 13:42    [W:0.020 / U:135.432 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site