2007-06-28 21:44:01

by DervishD

[permalink] [raw]
Subject: USB card reader and HAL

Hi all :)

I have a new card reader (internal) but I've tested with my old one
too: the same happens. I have a do-it-yourself linux box, self compiled
kernel 2.6.19.5 (by now).

When I insert a card in the reader, it is not detected, no udev
event is generated and I have to do things like "hdparm -z /dev/sda" to
"probe" the card. Moreover, I have to do the same when removing the card
or the /dev/sdaX nodes are not deleted.

Is HAL the only way of making it work? Is there any CONFIG_ thing
I've forgotten in my kernel?

I've tested with Ubuntu and it works perfectly, and that's why I
think this may be HAL related (I don't have HAL installed, Ubuntu has).

Thanks in advance :)

Ra?l N??ez de Arenas Coronado

--
Linux Registered User 88736 | http://www.dervishd.net
It's my PC and I'll cry if I want to... RAmen!


2007-06-29 05:22:53

by Kay Sievers

[permalink] [raw]
Subject: Re: USB card reader and HAL

On 6/28/07, DervishD <[email protected]> wrote:
> I have a new card reader (internal) but I've tested with my old one
> too: the same happens. I have a do-it-yourself linux box, self compiled
> kernel 2.6.19.5 (by now).
>
> When I insert a card in the reader, it is not detected, no udev
> event is generated and I have to do things like "hdparm -z /dev/sda" to
> "probe" the card. Moreover, I have to do the same when removing the card
> or the /dev/sdaX nodes are not deleted.
>
> Is HAL the only way of making it work? Is there any CONFIG_ thing
> I've forgotten in my kernel?
>
> I've tested with Ubuntu and it works perfectly, and that's why I
> think this may be HAL related (I don't have HAL installed, Ubuntu has).

You have to open() the device node to trigger events from the kernel,
the kernel itself will not do that for you. HAL polls the device every
few seconds.

Kay

2007-06-29 07:20:24

by DervishD

[permalink] [raw]
Subject: Re: USB card reader and HAL

Hi Kay :)

* Kay Sievers <[email protected]> dixit:
> On 6/28/07, DervishD <[email protected]> wrote:
> > When I insert a card in the reader, it is not detected, no udev
> >event is generated and I have to do things like "hdparm -z /dev/sda" to
> >"probe" the card. Moreover, I have to do the same when removing the card
> >or the /dev/sdaX nodes are not deleted.
> >
> > Is HAL the only way of making it work? Is there any CONFIG_ thing
> >I've forgotten in my kernel?
>
> You have to open() the device node to trigger events from the kernel,
> the kernel itself will not do that for you. HAL polls the device every
> few seconds.

So, opening the node and checking for ENOMEDIUM is the only
solution... Polling looks like a waste of time, and given that I use the
reader once a month or so, HAL will be a waste of resources. I'll resort
to manually do "hdparm -z" (or something similar) when I need to insert
or remove a card.

Thanks for confirming, Kay :))

Ra?l N??ez de Arenas Coronado

--
Linux Registered User 88736 | http://www.dervishd.net
It's my PC and I'll cry if I want to... RAmen!