Linux-Hardware Digest #451, Volume #14            Wed, 7 Mar 01 18:13:08 EST

Contents:
  Re: Question: setup cable modem, Linux and Windows (Grant Edwards)
  Re: Question: setup cable modem, Linux and Windows (Markku Kolkka)
  PCI IRQ Steering under Linux? (Trevor)
  Re: Question: setup cable modem, Linux and Windows (Greg Yantz)
  Re: LILO (Trevor Hemsley)
  too many problems to mention (Matthew Paterson)
  Re: wireless keyboard? (Vincent Fox)
  Re: Netgear FA311 ethernet card Not working ("Paul Whippey")
  Re: Question: setup cable modem, Linux and Windows ("bmeson")
  Re: Obtaining the MAC address (Dean Thompson)
  Re: Processor ID (Dave Blake)
  Re: PCI IRQ Steering under Linux? ("D. Stimits")
  Re: Question: setup cable modem, Linux and Windows (Mark Bratcher)
  Re: poll_wait and interruptible_sleep_on ("Ajit Sodhi")
  Re: wireless keyboard? ("D. Stimits")
  Re: too many problems to mention ("D. Stimits")
  Re: Any PC manufacturers sell pcs w/all hardware Linux compatible???? (Gary Sandine)

----------------------------------------------------------------------------

From: [EMAIL PROTECTED] (Grant Edwards)
Crossposted-To: comp.os.linux.networking,comp.os.linux.misc
Subject: Re: Question: setup cable modem, Linux and Windows
Date: Wed, 07 Mar 2001 20:53:54 GMT

In article <9866ar$lo0$[EMAIL PROTECTED]>, bmeson wrote:
>Hi, I have a Linux and a Windows PC. I need to connect them together and to
>the cable modem. I also want the outside world be able see my Linux machine
>(I want to setup Linux as webserver, ftp and telnet, etc.) I'm thinking
>buying a hub for this task.
>
>So what is the proper connection? is it
>
>cable modem --- Linux --- Hub --- Windows
>
>or
>
>cable modem --- Hub --- Linux
>                           |
>                            ------ Windows
>
>Or should I use something other than hub?

Or
                  ________ Linux
   cable         |
   modem ------ Hub
                 |________ Windows


I assume the cable modem has NAT/firewall funcitonality...

-- 
Grant Edwards                   grante             Yow!  I'm protected by
                                  at               a ROLL-ON I rented from
                               visi.com            AVIS...

------------------------------

From: Markku Kolkka <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.os.linux.misc
Subject: Re: Question: setup cable modem, Linux and Windows
Date: 07 Mar 2001 22:53:34 +0200

"bmeson" <[EMAIL PROTECTED]> writes:
> So what is the proper connection? is it
> 
> cable modem --- Linux --- Hub --- Windows

Yes, this is the right one.

-- 
        Markku Kolkka
        [EMAIL PROTECTED]

------------------------------

From: [EMAIL PROTECTED] (Trevor)
Subject: PCI IRQ Steering under Linux?
Date: Wed, 07 Mar 2001 21:05:55 GMT

Does Linux support PCI IRQ steering (as in Windoze)?  I can't get a
clear answer from the Red Hat support site, the LDP site, or the Web
in general. I don't even know if it's a stupid question :-( 

The reason I need to know is that my Asus A7V mobo shares the IRQ for
each PCI slot with things such as the ATA100 controller (and this
feature seems to be non-negotiable).   This means in particular that
my Netgear FA310 network card and its IRQ (10)  is recognised by the
Linux kernel on boot-up, but the card won't work because of a conflict
with the ATA100 controller's use of IRQ 10.  The only way of getting
an unshared IRQ for the card is to disable the ATA100 controller, and
I don't really want to do that.  A similar problem would occur on the
other PCI slots, so there seems to be no point in shuffling the card
around.

I'm warm-booting to Red Hat 7.0 (kernel 2.2.16) via LOADLIN from DOS
(don't know if this is relevant).  The "PnP OS" BIOS value is set to
"no".

Any info gratefully received.
Trevor

------------------------------

Crossposted-To: comp.os.linux.networking,comp.os.linux.misc
Subject: Re: Question: setup cable modem, Linux and Windows
From: Greg Yantz <[EMAIL PROTECTED]>
Date: 07 Mar 2001 16:15:04 -0500

[EMAIL PROTECTED] (Grant Edwards) writes:

> In article <9866ar$lo0$[EMAIL PROTECTED]>, bmeson wrote:
> >Hi, I have a Linux and a Windows PC. I need to connect them together and to
> >the cable modem. I also want the outside world be able see my Linux machine
> >(I want to setup Linux as webserver, ftp and telnet, etc.) I'm thinking
> >buying a hub for this task.

> >So what is the proper connection? is it

> >cable modem --- Linux --- Hub --- Windows

> >or

> >cable modem --- Hub --- Linux

> >Or should I use something other than hub?

> Or
>                   ________ Linux
>    cable         |
>    modem ------ Hub
>                  |________ Windows


> I assume the cable modem has NAT/firewall funcitonality...

Indeed. If it doesn't (many don't, mine certainly doesn't) you
might want something like:

                                   ----- box (Linux)
                                  |
    cable ------ Linux[1] ------ Hub --- box (Win)
    modem                         |
                                   ----- box (Win)

[1] - NAT + firewall of some kind (doesn't have to be Linux, could be 
      *BSD); hardware requirements are minimal

-Greg

------------------------------

From: [EMAIL PROTECTED] (Trevor Hemsley)
Subject: Re: LILO
Date: 7 Mar 2001 21:30:31 GMT

On Wed, 7 Mar 2001 19:07:04, "Hendri Schoeman" <[EMAIL PROTECTED]>
wrote:

> I had LILO installed but as I have a windomem I have to use windowz as an
> INTERNET os. So my windows just stoped functioning (like it always does) and
> I had to reinstall it. Unfortunately it re-writed my boot sector and I can't
> boot linux. Now I have to reinstall linux and I don;t have a clue how to do
> it. I run RedHat 7.0 and I don't have a boot disc...........any ideas???

Does Redhat 7.0 have rescue mode boot from the install CD? If it does 
and you can get to a command prompt and mount your root partition on, 
say, /mnt then you can run

/sbin/lilo -r /mnt

and it'll chroot to /mnt (making /mnt appear as / to the command) and 
then read /etc/lilo.conf from your current setup and reinstall itself.
No need to reinstall at all.

-- 
Trevor Hemsley, Brighton, UK.
[EMAIL PROTECTED]

------------------------------

From: Matthew Paterson <[EMAIL PROTECTED]>
Subject: too many problems to mention
Date: Wed, 07 Mar 2001 21:39:34 +0000

Ok, here goes. I am currently running Slackware 7.0 with kernel 2.2.18,
i have a Genius modem with a Lucent chipset that is supported, i have
the drivers for this chipset. When i have installed the drivers as the
README states, i try connecting to the net with wvdial. It dials the
number ok, and you hear the dialtone etc, but then pppd dies! I am
running the standard ppp version that comes with Slack 7.0, version
2.3.10.

But thats not all, i have run Suse 7.0 with kernel 2.2.18, with same ppp
version, and installed drivers *exactly* the same, and i have managed to
connect ot the net, everything is fine.

Why not run Suse i hear you say. Well, and this is weird, my original
Sounblaster 16 (that is its not just a SB16 chipset, its an actual
Creative Labs card) doesnt get detected! I have tried compiling it in as
a module, and also not as a module in the kernel, but neither work! I
dont know why!

Any help on this matter would be GREATLY appreciated, as i am sick to
death of windoze crashing, and those god-awful blue screens of death. I
may just buy an external modem, seeing as i can afford to now, but if i
can get my current one working that would be better, plus its a
challenge :)

Thanks
Matt

------------------------------

From: [EMAIL PROTECTED] (Vincent Fox)
Subject: Re: wireless keyboard?
Date: 7 Mar 2001 21:35:20 GMT

In <[EMAIL PROTECTED]> John Culleton 
<[EMAIL PROTECTED]> writes:

>Anyone have experience (good or bad) with a wireless keyboard for Linux?
>How about the built in touch pad "mouse" device? Any recommendations?

I use a Logitech wireless keyboard and mouse, works fine.
The receiver box plugs into the PS/2 keyboard and mouse ports
and it looks to the system just like any other.


--
        "Who needs horror movies when we have Microsoft"?
         -- Christine Comaford, PC Week, 27/9/95

------------------------------

From: "Paul Whippey" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking
Subject: Re: Netgear FA311 ethernet card Not working
Date: Wed, 7 Mar 2001 21:44:22 -0000

> > I also got a FA311. There is a new driver at
> > http://www.netgear-support.com/ts/drivers.html (just enter fa311 ...)
> > that compiles fine (you probably should remove the fa311.o first, and
> > rename all the filenames to lowercase).
> > But I got a strange problem with it. It all works fine in text mode, but
> > as soon as I do a startx or init 3 it stops working till I reboot the
> > machine. btw. I'm using SuSE Linux.
> > I just wonder has anyone a FA311 that works under Linux?
> >
> > Clemens
>

My Linux server (Mandrake 7.2) has an FA311 installed, once I used the new
driver from Netgear I have had no problems. It works fine in text or X.

HTH,

Paul.



------------------------------

From: "bmeson" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.os.linux.misc
Subject: Re: Question: setup cable modem, Linux and Windows
Date: Wed, 7 Mar 2001 16:55:30 -0500

Erh.. Does the Linux[1] box down there need 4 NIC then? one to cable modem,
one to hub and other two for two boxes.

"Greg Yantz" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> [EMAIL PROTECTED] (Grant Edwards) writes:
> Indeed. If it doesn't (many don't, mine certainly doesn't) you
> might want something like:
>
>                                    ----- box (Linux)
>                                   |
>     cable ------ Linux[1] ------ Hub --- box (Win)
>     modem                   |
>                                    ----- box (Win)
>
> [1] - NAT + firewall of some kind (doesn't have to be Linux, could be
>       *BSD); hardware requirements are minimal
>
> -Greg



------------------------------

From: Dean Thompson <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.networking
Subject: Re: Obtaining the MAC address
Date: Thu, 08 Mar 2001 09:09:15 +1100


Hi Bruce,

> ifconfig and dhcp are obviously able to pull the MAC address from the
> NIC, but I can't seem to isolate the appropriate system call to do this in 
> my own program. How do I obtain the MAC address from the ethernet card?

I would recommend using the command: "/sbin/ifconfig | grep HWaddr" to get the
hardware address.  You can then use the utilities like sed and awk to actually
strip out the address without all of the other stuff in front of it.

See ya

Dean Thompson

--
+____________________________+____________________________________________+
| Dean Thompson              | E-mail  - [EMAIL PROTECTED] |
| Bach. Computing (Hons)     | ICQ     - 45191180                         |
| PhD Student                | Office  - <Off-Campus>                     |
| School Comp.Sci & Soft.Eng | Phone   - +61 3 9903 2787 (Gen. Office)    |
| MONASH (Caulfield Campus)  | Fax     - +61 3 9903 1077                  |
| Melbourne, Australia       |                                            |
+----------------------------+--------------------------------------------+

------------------------------

From: [EMAIL PROTECTED] (Dave Blake)
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.development.system
Subject: Re: Processor ID
Date: 7 Mar 2001 21:45:48 GMT
Reply-To: [EMAIL PROTECTED]

Bruce E. Varney <[EMAIL PROTECTED]> wrote:
> The Pentium III (and the Celeron?) supports a processor ID. Is
> there a system call in Linux which queries this value?

The linux kernel, being an entity that values YOUR privacy,
disables access to the CPUid by default. You will need to
recompile most kernels to enable access.


-- 
Dave Blake
[EMAIL PROTECTED]

------------------------------

Date: Wed, 07 Mar 2001 15:29:29 -0700
From: "D. Stimits" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Re: PCI IRQ Steering under Linux?

Trevor wrote:
> 
> Does Linux support PCI IRQ steering (as in Windoze)?  I can't get a
> clear answer from the Red Hat support site, the LDP site, or the Web
> in general. I don't even know if it's a stupid question :-(
> 
> The reason I need to know is that my Asus A7V mobo shares the IRQ for
> each PCI slot with things such as the ATA100 controller (and this
> feature seems to be non-negotiable).   This means in particular that
> my Netgear FA310 network card and its IRQ (10)  is recognised by the
> Linux kernel on boot-up, but the card won't work because of a conflict
> with the ATA100 controller's use of IRQ 10.  The only way of getting
> an unshared IRQ for the card is to disable the ATA100 controller, and
> I don't really want to do that.  A similar problem would occur on the
> other PCI slots, so there seems to be no point in shuffling the card
> around.
> 
> I'm warm-booting to Red Hat 7.0 (kernel 2.2.16) via LOADLIN from DOS
> (don't know if this is relevant).  The "PnP OS" BIOS value is set to
> "no".
> 
> Any info gratefully received.
> Trevor

You may be interested in the utilities "lspci" and "setpci".

------------------------------

From: [EMAIL PROTECTED] (Mark Bratcher)
Crossposted-To: comp.os.linux.networking,comp.os.linux.misc
Subject: Re: Question: setup cable modem, Linux and Windows
Date: Wed, 07 Mar 2001 22:34:22 GMT

>>
>>cable modem --- Linux --- Hub --- Windows

This is the right one if you set up firewall capability on the Linux
box. The cable modem probably has no firewall capability. This requires
two NICs in the Linux box.

If you don't want to make the Linux box a firewall, then you could
do this:

cable modem ---- FW Box --- Hub --- Windows
                             |
                             *----- Linux

Where "FW Box" could be an off-the-shelf firewall/router ($99).
They're generally easy to configure. Or use a spare 486 with
Linux on it configured for firewall/routing.

I highly recommend having a firewall somewhere if you don't
want to get hacked easily.

-- 
Mark Bratcher
To reply direct, remove both underscores (_) from my email name
===============================================================
Escape from Microsoft's proprietary tentacles: use Linux!

------------------------------

From: "Ajit Sodhi" <[EMAIL PROTECTED]>
Crossposted-To: 
comp.os.linux.development.system,alt.os.linux,comp.os.linux.embedded,linux.redhat.devel,linux.dev.kernel
Subject: Re: poll_wait and interruptible_sleep_on
Date: Wed, 07 Mar 2001 22:39:02 GMT

Hi Michael,

Thanks you very much on answering all my questions. With you cooperation,
I've got the basic driver working. I've included some piece of code to help
you understading my issues.

1. I've to be able to report the interrupt status to user, since I don't
know how much data has been written on the bridge memory (My driver is used
on the primary bus side of the bridge, secondary bus side is a different env
(VxWorks in this case). And the app level protocol between 2 sides will have
the knowlede for the data content. Do you think it is the right approach
still (or still a broken design)

2. As you mentioned poll_wait does return right away. The tried with my test
code (app side) that user gets the response right away (even though my
driver did not issue any wake up call). This is with case when user called
system poll command only for my device. kernel did invoke my poll routine.
And poll_wait return right away. Since I did not get any interrupt status
change, driver did not call any wake, but still user did not goto the wait
mode. WHY?

3. So I tried something different, provided an IOCTL call to be able to wait
till interrupt is changed. This time I called interruptible_sleep_on method
on the same queue. And the IOCTL call kept the user in the wait mode, until
driver called the wake_up call. So, I got the desired result.

4. Please review my code (if possible) and suggest me what is wrong, why the
poll method does not work.

5. It seems like the interruptible_sleep_on did the trick. Shall I use this
in my poll command also.

6. I'm still little fuzzy about the interruptible_sleep_on and poll_wait
difference.

Thanks

Here are the code snippets

#if (LINUX_VERSION_CODE < 0x020300)

#define init_waitqueue_head(head) *(head) = NULL
#define set_current_state(a) current->state = (a)

#endif

static ssize_t dc21554Write(struct file * filp, const char * buf, size_t
count, loff_t *ppos)
{
 if ((*ppos + count) > dcDev.memoryCount) {
  return -EFAULT;
 }

 if (copy_from_user((void *)dcDev.mappedMemBase + *ppos, buf, count)) {

  pr_debug("Error copy_from_user...%10.10s\n", buf);
                return -EFAULT;
 }
 pr_debug("Succ copy_from_user...%10.10s\n>>%c:%x:%d\n", buf,
dcDev.mappedMemBase, dcDev.mappedMemBase, dcDev.mappedMemBase);
 return count;
}

static ssize_t dc21554Read(struct file * filp, char * buf, size_t count,
loff_t *ppos)
{

 pr_debug("Received Read req %d:%d.\n", count, *ppos);

 if ((*ppos + count) > dcDev.memoryCount) {
  pr_debug("Read Out of Bound %d:%d.\n", count, *ppos);
  return -EFAULT;
 }

 if (copy_to_user((void *)buf, (void *)dcDev.mappedMemBase + *ppos, count))
{

  pr_debug("Read copy error %d:%d.\n", count, *ppos);
                return -EFAULT;
 }
 return count;
}

static inline int dc21554CsrRead(struct dc21554IOs * dc21554IOs)
{
 int i;
 u8 val;

 struct dc21554IOs Kdc21554IOs;

 if (copy_from_user(&Kdc21554IOs, dc21554IOs, sizeof(Kdc21554IOs)))
  return -EFAULT;

 pr_debug("Csr Info %d:%d:%x.\n", Kdc21554IOs.size, Kdc21554IOs.offset,
Kdc21554IOs.ioBuf);
 if ((Kdc21554IOs.offset + Kdc21554IOs.size) > dcDev.csrCount) {
  return -EFAULT;
 }

 for (i=0; i<Kdc21554IOs.size; i++) {
  val = inb(dcDev.phyIOBase + i);
  put_user(val, (u8 *)((u8 *)Kdc21554IOs.ioBuf + i));
 }
 return Kdc21554IOs.size;
}

static int dc21554Ioctl(struct inode *inode, struct file *fileop, unsigned
int cmd, unsigned long arg)
{
 switch(cmd) {
  default:
   return -ENOIOCTLCMD;
   break;
  case IOCTL_READ_CSR:
   return dc21554CsrRead((struct dc21554IOs *)arg);
   break;
  case IOCTL_WRITE_CSR:
   return dc21554CsrWrite((struct dc21554IOs *)arg);
   break;
  case IOCTL_POLL_INTERRUPT:
   pr_debug(">>>>Into Sleep<<<<<<\n");
   interruptible_sleep_on(&dcDev.pollWait);
   pr_debug(">>>>>Out of Sleep<<<<<\n");
   return POLLIN;
   break;
 }
 return 0;
}

static unsigned int dc21554Poll(struct file* filp, poll_table* wait)
{

 pr_debug("In the Poll Function>>>>>\n");
 poll_wait(filp, &dcDev.pollWait, wait);
 pr_debug("Out of Poll......%x\n", dcDev.intrStatus);

 poll_cnt++;

 if (dcDev.intrStatus != 0x0) {
  pr_debug("Device Intr Status(Succ) %d.\n", dcDev.intrStatus);
  return POLLIN;
 } else {
  pr_debug("Device Intr Status(Fail) %d.\n", dcDev.intrStatus);
  return POLLERR;
 }
}


static void dc21554Intr(int irq, void *did, struct pt_regs *regs)
{
 static int cnt = 0;
 unsigned short istatus = 0;

 if (did != &dcDev) {
  pr_debug("Not my interrupt %x:%x.\n", did, &dcDev);
  return ;
 }

 cnt++;

 istatus = inw(dcDev.pciDev->base_address[1] + PRM_CLR_IRQ);
 outw(0xffff, dcDev.pciDev->base_address[1] + PRM_SET_IRQ_MSK);

 if (istatus != 0x0000) {

  dcDev.intrStatus = istatus | dcDev.intrStatus;
  //if (istatus != 0xffff) pr_debug("21554 : Int Status = %x.\n", istatus);

  pr_debug("IN INTERRRRRRRRRR %d:%d.\n", poll_cnt, cnt);

  wake_up_interruptible(&dcDev.pollWait);

  outw(istatus,  dcDev.phyIOBase + PRM_SET_IRQ_MSK);
  //writew(istatus,  dcDev.mappedCsrBase + PRM_SET_IRQ_MSK);
 }
}

static int __init dc21554Probe(void)
{
 struct pci_dev *pdev = NULL;

 if (probed)
  return -ENODEV;

 probed++;

 if (!pci_present())
  return -ENODEV;

 pr_debug("Starting Probling .....");
 //while ((pdev = pci_find_device(PCI_VENDOR_ID_DEC,
PCI_DEVICE_ID_INTC21554, pdev))) {
 pdev = pci_find_device(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_INTC21554, pdev);

 if (pdev == NULL) {
  pr_debug("No device found .....");
  return -ENODEV;
 }
 else {
  dc21554Init(pdev);
  pr_debug("YES! device found .....\n");
  return 0;
 }
}

static int __init dc21554Init(struct pci_dev *pdev)
{
 unsigned short istatus = 0;
 pr_debug("List Device from Init...\n");
 showDevice(pdev);

 dcDev.pciDev = pdev;

 strcpy(dcDev.devName, "DC21554");

 dcDev.phyMemBase = pdev->base_address[2];
 dcDev.phyCsrBase = pdev->base_address[0];
 dcDev.phyIOBase  = pdev->base_address[1];

 request_region(dcDev.phyIOBase, CSR_MEM_SIZE_BYTE, dcDev.devName);

 // Map the device addresses o kernel virtual space
 dcDev.mappedMemBase = (unsigned long)ioremap (dcDev.phyMemBase,
UNIFIED_MEM_SIZE_BYTE);

 dcDev.memoryCount = UNIFIED_MEM_SIZE_BYTE;
 dcDev.csrCount = CSR_MEM_SIZE_BYTE;

 //memset_io(dcDev.mappedMemBase, 'a', dcDev.memoryCount);


 pr_debug("Device  Map Add  %x.\n", dcDev.mappedMemBase);
 pr_debug("Device  Csr Add  %x.\n", dcDev.mappedCsrBase);

 // Initialize the wait queue for the select/poll system call

 init_waitqueue_head(&dcDev.pollWait);

 istatus = inw(dcDev.phyIOBase + PRM_CLR_IRQ);
 pr_debug("INtr Status is %x.\n", istatus);

 // Clear all the interrupts
 outw(0xffff, dcDev.phyIOBase + PRM_SET_IRQ_MSK);

 if (request_irq(pdev->irq, (void *)dc21554Intr, SA_SHIRQ, dcDev.devName,
&dcDev)) {
  pr_debug("Unable to get Irq %d for %s.\n", pdev->irq, dcDev.devName);
  unloadDc21554();
  return -ENODEV;
 }
 if ((dcDev.majorNum = register_blkdev(0, DC21554_NAME, &dc21554Ops)) < 0) {
  pr_debug("Unable to get the Major Number.\n");
  unloadDc21554();
 }
 return 0;
}

static void __init showDevice(struct pci_dev *pdev)
{
}

static void unloadDc21554(void)
{
 iounmap((void *)dcDev.mappedMemBase);
 iounmap((void *)dcDev.mappedCsrBase);
 release_region(dcDev.phyIOBase, CSR_MEM_SIZE_BYTE, dcDev.devName);

 free_irq(dcDev.pciDev->irq, &dcDev);

 if (dcDev.majorNum > 0) {
  unregister_blkdev(dcDev.majorNum, DC21554_NAME);
 }

 printk(endMsg);
}

#if (LINUX_VERSION_CODE < 0x02032a)
int __init init_module(void)
{
 pr_debug("In the Init(new)\n");
 //return 0;
 return dc21554Probe();
}

/*
*/
void cleanup_module(void)
{
 unloadDc21554();
}
#else
module_init(dc21554Probe);
module_exit(unloadDc21554);
#endif



"Michael Mueller" <[EMAIL PROTECTED]> wrote in message
news:983ra4$9sr$[EMAIL PROTECTED]...
> Hi Ajit,
>
> you wrote:
> > Can anyone provide me the difference between these two calls (poll_wait
and
> > interruptible_sleep_on) . I'm confused between the usage of two. Also,
it
> > would be much better if you can let me know how shall I implement the
poll
> > function in a driver.
> >
> > Does the poll_wait puts the process in the sleep mode?
>
> If I see right pool_wait() does return instantly and do_poll()
> implemented in ./fs/select.c does the the waiting. This should be of
> need since a single call to the poll() syscall can wait for events on
> any of multiple filedescriptors. If the device-specific implementation
> would already block one could only wait for the case every of the
> filedescriptors had an event.
>
> > I don't have to poll for read or write methods. All I need is to let the
> > user process know if the interrupt status has been changed. So if he
calls
> > the poll system call. I want to wait in this call (in my driver) until
the
> > interrupt status has been changed. The change of status will happen in
the
> > interrupt handler. So is this a valid assumption that
> >
> > 1. If I call the poll_wait function in my poll routine, user process
will
> > remain in the sleep mode, until Interrupt handler changes the status and
> > call the wake_up_interruptible.
>
> If the user already does wait on for change of the interrupt status
> (borken design) it might be usefull to return the value of the interrupt
> status to the user. This could be accomplished by providing a little
> buffer the read() function does take the value for.
>
> For examples of an poll implementation see:
> ./fs/pipe.c(pipe_poll)
> ./drivers/net/ppp_generic.c(ppp_poll)
> ./net/ipv4/tcp.c(tcp_poll)
>
> > 2. And this is the right way to implement
>
> Yes, you should call wakeup_interruptible() with the second parameter of
> poll_wait when ever you think one of the events poll() can wait for did
> occour. If I read the source correctly the device dependend poll
> function then can feature it out in detail for the case the occourence
> of an event is not assured.
>
>
> Malware



------------------------------

Date: Wed, 07 Mar 2001 15:42:57 -0700
From: "D. Stimits" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Re: wireless keyboard?

Vincent Fox wrote:
> 
> In <[EMAIL PROTECTED]> John Culleton 
><[EMAIL PROTECTED]> writes:
> 
> >Anyone have experience (good or bad) with a wireless keyboard for Linux?
> >How about the built in touch pad "mouse" device? Any recommendations?
> 
> I use a Logitech wireless keyboard and mouse, works fine.
> The receiver box plugs into the PS/2 keyboard and mouse ports
> and it looks to the system just like any other.
> 

I'm waiting for an encrypted wireless keyboard.

------------------------------

Date: Wed, 07 Mar 2001 15:42:06 -0700
From: "D. Stimits" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Re: too many problems to mention

Matthew Paterson wrote:
> 
> Ok, here goes. I am currently running Slackware 7.0 with kernel 2.2.18,
> i have a Genius modem with a Lucent chipset that is supported, i have
> the drivers for this chipset. When i have installed the drivers as the
> README states, i try connecting to the net with wvdial. It dials the
> number ok, and you hear the dialtone etc, but then pppd dies! I am
> running the standard ppp version that comes with Slack 7.0, version
> 2.3.10.

It is possible you have an authentication failure dumping you after it
connects. Most ISP's use PAP, some use CHAP. Check the files
/etc/ppp/pap-secrets and chap-secrets. Both of these files must be
readable only by root. They contain password info that is needed *after*
the normal login. PAP uses it once after login, CHAP uses it at random
intervals. Some of it is explained in the man page for pppd. A sample
line would be:
some_login_name *   some_password

> 
> But thats not all, i have run Suse 7.0 with kernel 2.2.18, with same ppp
> version, and installed drivers *exactly* the same, and i have managed to
> connect ot the net, everything is fine.
> 
> Why not run Suse i hear you say. Well, and this is weird, my original
> Sounblaster 16 (that is its not just a SB16 chipset, its an actual
> Creative Labs card) doesnt get detected! I have tried compiling it in as
> a module, and also not as a module in the kernel, but neither work! I
> dont know why!

One, there can be hardware setup issues for ISA, or ISA PNP, or PCI,
that are not due to this being a SB16. There can also be sound setup
issues, after hardware setup issues are out of the way. Some
clarification is that each card generally has an irq and base address.
Some have more, such as sound cards having DMA addresses, and multiple
base addresses since it also supports a joystick port. In the case of a
pure ISA card, this will be set on the card with jumpers, and software
will have to be told what irq and address to use. In the case of a
Plug-n-Play (PNP) ISA card, the software side has the same requirement,
but the hardware is programmed with software also, instead of manual
jumpers. For this isapnptools are used, e.g., check out isapnpdump and
the file /etc/isapnp.conf. In the case of a PCI card, it has internal
information to aid the system in making all of those settings for you.
But, you should try to set your BIOS, during bootup, to "operating
system is NOT plug-n-play aware"; this means the BIOS will try to set up
the hardware before your system sees it (the system can still manipulate
it, but it is better if the BIOS can help avoid some of it). The system
is more likely to detect and set (through various distribution setup
scripts) a PCI card right, especially if the BIOS setting is "not pnp
aware", although it may still require intervention sometimes.

If the hardware is correctly initialized, then modules or other sound
setup can succeed. I can't help much with this particular card, but you
will be at an advantage if you set BIOS to not pnp aware, and find out
if this is a jumpered ISA card, ISA PNP, or PCI. If you post more
questions, be sure to state which kind of card it is.

> 
> Any help on this matter would be GREATLY appreciated, as i am sick to
> death of windoze crashing, and those god-awful blue screens of death. I
> may just buy an external modem, seeing as i can afford to now, but if i
> can get my current one working that would be better, plus its a
> challenge :)
> 
> Thanks
> Matt

------------------------------

From: Gary Sandine <[EMAIL PROTECTED]>
Subject: Re: Any PC manufacturers sell pcs w/all hardware Linux compatible????
Date: Wed, 07 Mar 2001 22:57:25 -0000

Mark Post <[EMAIL PROTECTED]> wrote:
> Dell will sell PCs with Linux pre-installed.

Yep, but don't expect any Linux support.  Of course, I'm biased

http://www.lanm-pc.com (Cheap LINUX boxes)

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list by posting to comp.os.linux.hardware.

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Hardware Digest
******************************

Reply via email to