Pierre Ossman | 2 Nov 18:52 2004

Release 0.9 out

Even though I keep insisting that this is the final release, they just 
keep on coming.

There were some problems with the FIFO stalling so this release has done 
a redesign to (hopefully) solve this.

There is also a tweak for the DMA buffer allocation that should allow it 
to succeed more often.

http://projects.drzeus.cx/wbsd/download.php?get=files/wbsd-0.9.patch

Because of the new design a bug in the MMC layer appeared. For the 
driver to work you also need to apply this patch:

http://projects.drzeus.cx/wbsd/download.php?get=files/mmc-spinlock-fix.patch

If you have 2.6.10-r1-bk12 or newer you already have the patch.

Rgds
Pierre

Pierre Ossman | 3 Nov 17:33 2004

APIC woes

Is there anyone who is running wbsd with FIFO and the bulk patch on an 
APIC system (the Acer machines for example)?
There has been some problems with writes hanging on these. I'd like to 
know what other people have experienced.

Rgds
Pierre

MAL | 12 Nov 01:25 2004

MMC/SD card reader on Asus A2500D

Hey all,

I'd just like to say that the driver works on the Asus A2500D laptop's 
built-in MMC/SD card reader.

I patched the gentoo 2.6.9-gentoo-r3 kernel with the following patches:

mmc-kconfig.patch
mmc-spinlock.patch
wbsd-0.9.patch

Then built the MMC and WBSD support as modules.

I have to insert the MMC card before loading the wbsd module, or nothing 
happens.  Could this machine be lacking the insert notification?

When I load the wbsd module, it detects the partition, then prints:

Badness in wbsd_timeout at drivers/mmc/wbsd.c:1050
Stack pointer is garbage, not printing trace

The card can still be mounted and used though, so I didn't worry - but 
can anyone tell me what it means?

MAL

Pierre Ossman | 12 Nov 17:46 2004

Re: MMC/SD card reader on Asus A2500D

MAL wrote:
> 
> I have to insert the MMC card before loading the wbsd module, or nothing 
> happens.  Could this machine be lacking the insert notification?

Very strange. Missing notifications are usually because of interrupt 
problems. But since you can do data transfers then interrupt handling 
must be working.

Enable MMC debug messages and see if you get anything in dmesg when you 
insert or remove the card. It should say 'Card removed'/'Card inserted'.

Also try using different interrupts (module parameter irq).

> 
> When I load the wbsd module, it detects the partition, then prints:
> 
> Badness in wbsd_timeout at drivers/mmc/wbsd.c:1050
> Stack pointer is garbage, not printing trace
> 
> The card can still be mounted and used though, so I didn't worry - but 
> can anyone tell me what it means?

It means that it detected a timeout error but no command was currently 
executing. This usually only shows up when you have a card present when 
loading the module. Haven't found what causes it. Some weird timing issue.

It's just a warning so it's nothing to worry about.

Very strange that it complains about the stack pointer though.
(Continue reading)

Bob Cutrone | 23 Nov 21:21 2004
Picon

Winbond SD/MMC Linux Driver

Hello,
  I thought you might be interested to know that I
recently installed your driver on my system, a Compal
CQ12  (bought from QLI Linux in the US before they
went under).  The driver funcitons properly (I applied
mmc-config.patch & wbsd-0.9.patch to a vanilla 2.6.9
kernel). It recognizes the device and I'm able to
mount, read & write to a card. I do get some strangess
in the logs though. When I mount the device I get ....

wbsd: Winbond W83L51xD SD/MMC card interface driver,
0.9
wbsd: Copyright(c) Pierre Ossman
mmc0: W83L51xD id 7112 at 0x248 irq 6 dma -1
mmcblk0: mmc0:0001 SDM128 125440KiB
 mmcblk0:Badness in local_bh_enable at
kernel/softirq.c:141
 [<c011b5d4>] local_bh_enable+0x7e/0x80
 [<e08730bd>] mmc_start_request+0x6d/0xa7 [mmc_core]
 [<e0873140>] mmc_wait_for_req+0x3d/0x4e [mmc_core]
 [<e0830301>] mmc_blk_issue_rq+0x116/0x324 [mmc_block]
 [<e08730f7>] mmc_wait_done+0x0/0xc [mmc_core]
 [<c01fcf4d>] elv_next_request+0x10/0xfc
 [<e087400a>] mmc_queue_thread+0xef/0x13e [mmc_core]
 [<c01147b2>] default_wake_function+0x0/0x12
 [<c0104e5e>] ret_from_fork+0x6/0x14
 [<c01147b2>] default_wake_function+0x0/0x12
 [<e0873f1b>] mmc_queue_thread+0x0/0x13e [mmc_core]
 [<c0103291>] kernel_thread_helper+0x5/0xb
 p1
(Continue reading)

Pierre Ossman | 24 Nov 14:55 2004

Re: Winbond SD/MMC Linux Driver

Bob Cutrone wrote:
> Hello,
>   I thought you might be interested to know that I
> recently installed your driver on my system, a Compal
> CQ12  (bought from QLI Linux in the US before they

Why of course. The list of tested laptops is a bit thin. =)

> went under).  The driver funcitons properly (I applied
> mmc-config.patch & wbsd-0.9.patch to a vanilla 2.6.9
> kernel). It recognizes the device and I'm able to
> mount, read & write to a card. I do get some strangess
> in the logs though. When I mount the device I get ....
> 
> wbsd: Winbond W83L51xD SD/MMC card interface driver,
> 0.9
> wbsd: Copyright(c) Pierre Ossman
> mmc0: W83L51xD id 7112 at 0x248 irq 6 dma -1
> mmcblk0: mmc0:0001 SDM128 125440KiB
>  mmcblk0:Badness in local_bh_enable at
> kernel/softirq.c:141

This is a bug in the MMC layer. There is a patch for it on the project page.

> Badness in wbsd_tasklet_timeout at
> drivers/mmc/wbsd.c:1050

This is some kind of timing bug I haven't been able to pinpoint. I only 
get it when I have a card inserted when I load the driver. Do you get I 
all the time?
(Continue reading)

MAL | 24 Nov 15:22 2004

Re: MMC/SD card reader on Asus A2500D

Pierre Ossman wrote:
> MAL wrote:
> 
>>
>> I have to insert the MMC card before loading the wbsd module, or 
>> nothing happens.  Could this machine be lacking the insert notification?
> 
> Very strange. Missing notifications are usually because of interrupt 
> problems. But since you can do data transfers then interrupt handling 
> must be working.
> 
> Enable MMC debug messages and see if you get anything in dmesg when you 
> insert or remove the card. It should say 'Card removed'/'Card inserted'.
> 
> Also try using different interrupts (module parameter irq).

That was the ticket, thanks :)  I forced it to use IRQ 11 (a guess), and 
it works fine.  Add ASUS A2500D laptops to the supported list, or indeed 
all of the ASUS A2D range, as they all have this device.

Cheers,
MAL

Pierre Ossman | 24 Nov 15:26 2004

Re: MMC/SD card reader on Asus A2500D

MAL wrote:

> Pierre Ossman wrote:
>
>>
>> Also try using different interrupts (module parameter irq).
>
>
> That was the ticket, thanks :)  I forced it to use IRQ 11 (a guess), 
> and it works fine.  Add ASUS A2500D laptops to the supported list, or 
> indeed all of the ASUS A2D range, as they all have this device.

Great. One more satisfied customer =)

It would be nice if you could test all interrupts to see which of them 
there are problems with. Also, does your system have an IO-APIC? There 
has been some problems on Acer machines with IO-APIC:s.

Rgds
Pierre

Dave Evans | 24 Nov 20:40 2004
Picon

Can't read SD disk

Hi list,

Using this fine software I can get my kernel to recognise the hardware,
and it detects when a card is inserted, but I can't mount the card.  The
error I get every time is: /dev/≤whatever> is not a valid block device.

There's a reasonably detailed log of what happens here:
http://musicbrainz.org/~dave/wbsd-log

It might be because I know absolutely nothing about the differences
between MMC and SD cards - does this software work with one but not the
other?

Thanks in advance,

--

-- 
Dave

PGP key: http://rudolf.org.uk/pgpkey

Pierre Ossman | 24 Nov 20:59 2004

Re: Can't read SD disk

Dave Evans wrote:
> 
> It might be because I know absolutely nothing about the differences
> between MMC and SD cards - does this software work with one but not the
> other?
> 

I'm afraid only MMC is supported at the moment. SD support in Linux is 
on its way and will hopefully show up soon.

Rgds
Pierre

Gmane