andreas.txt Driver File Contents (AGERE_MODEM_Chip_1648c-tv5_Model_No._IC56A_made_by_Stratitec.zip)

History (slightly condensed)
-------

Date: Fri, 5 Jan 2001 20:10:37 -0500 (EST)
From: Andreas Plesch <plesch@fas.harvard.edu>
Reply-To: andreas_plesch@harvard.edu
To: discuss@linmodems.org
Subject: Toshiba 2800-S201 Xircom MPCI, new info

I did not realize until now that there was an active mailing list at
linmodems.org :) Several people wrote in lately about problems with
the internal modem on new Toshiba latops. I have a Satellite 2800-S201
and I have exactly the same problems, e.g. "resource
busy", DEBUGGING mode on in serial.c reveals undetection, no IRQ control
in BIOS etc. The good thing is that I am not alone in this :)

The only thing I can add is that I looked up the exact modem part no. and
FCC registration by looking directly at it. All the info (and some more ,
e.g about sound) is at http://sites.netscape.net/andreasplesch/toshiba.htm
Please have a look. The chips indicate to me that it uses the Lucent MARS3
chip set but the main one is mostly hidden under a heat metal strip, so
there is not much to see. Maybe others are more lucky finding out. The
removal of the cover is a bit tricky. After removing the screws which hold
the cover, I loosened a couple of more screws on the bottom. Then I used a
rotating motion (clockwise) and some mild force to remove the cover.

I also tried the ltmodem diagnostic tool. It checks for a LUCENT pci
vendor id, so it does not even start. I then just changed the id in the
source to the Xircom one (I think 115d). Then it starts but ltmodem -t has
problems with the pci.ids file. ltmodem -c 3> /dev/tty1 hangs (and the
keyboard and maybe more) after reporting 0 as the port addresses. It may
be worthwhile to try some more things with this tool.

Andreas

---
Date: Sun, 7 Jan 2001 13:37:13 -0500 (EST)
From: Andreas Plesch <plesch@fas.harvard.edu>
Reply-To: andreas_plesch@harvard.edu
To: discuss@linmodems.org
Subject: Xircom MPCI 56 and the lucent driver

Hi,

I have a Satellite S2800-S201 with this modem:
Xircom MPCI 3A56G-100
FCC Registration No.: 2U6MLA-27849-M5-E REN 1.0B 0.5A

and cannot get it to work with the lucent driver.

A thinkpad user - Raphael - with this modem:
Xircom MPCI 3A56GSP-100PA

is able to use the lucent driver.

The devices are different (00d4 vs 000c) but at least I know now that
ltmodem.o (and lucent_detect_modem) likes the xircom pci vendor id.

Here is one more bit of information I found in the win2k driver of my
modem: strings on ltck000c.sys (lt for lucent but copyright by xircom) has
E:\mars\x1903\mkn5\i386\ltmodem.pdb
This is an indication that it uses the lucent MARS chip set.

Does anybody know what the x1903 could stand for ?
And if the lucent driver ltmodem.o supports the MARS3 chip set ?

If I modify serial.c to ignore the nondetection I can insmod and get this
when modprobing at boot time:

5.78 w\ no serial option enabled
no vm86_info: BAD
S10serial: line 225: 54 segmentation fault
Then there is a IRQ problem so that hda cannot be accessed anymore.

Does anybody know what no vm86_info: BAD means ?

Thanks for reading,

Andreas

Here is my pci info:
00:08.1 Serial controller: Xircom: Unknown device 00d4 (prog-if 02
[16550])
        Subsystem: Intel Corporation: Unknown device 2411
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at ff38
        Region 1: Memory at efdff000 (32-bit, non-prefetchable)
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=2 PME-

and here Raphaels pci info:

00:03.1 Serial controller: Xircom: Unknown device 000c (prog-if 02 [16550])
        Subsystem: Intel Corporation: Unknown device 2408
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
        ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
        <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at 1840
        Region 1: Memory at f0121000 (32-bit, non-prefetchable)
        Capabilities: [dc] Power Management version 2
        Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
        PME(D0+,D1+,D2+,D3hot+,D3cold+)
        Status: D0 PME-Enable- DSel=0 DScale=2 PME-

---
Date: Sun, 7 Jan 2001 16:31:05 -0300
From: Javier Nigro <javier@nigro>
To: discuss@linmodems.org
Subject: ltmodem.o: vendor and device ids supported
Parts/Attachments:

Hello,

I have more info about which vendor and device ids does ltmodem.o supports.

Apparently, the chain of functions called is:

init_module(serial.c)
  lucent_detect_modem(lmdmobj.o)
    lt_pci_find_device(ltmodem.c)
      pci_find_device(/usr/src/linux/drivers/pci/pci.c)

Function lucent_detect_modem calls lt_pci_find_device several times with
different vendor id and device number combinations. Once it finds a match
it stops. Those combinations are as follows:

Vendor=0x11c1 (Lucent) and device=from 0x440 to 0x45c
Vendor=0x115d (Xircom) and device=from 0x001 to 0x00f
Vendor=0x115d (Xircom) and device=from 0x440 to 0x45c

If your modem does not match any of the above combinations, chances are, it
won't be detected! (Device or resource busy).

Well, that's my problem, since I have a Xircom with dev_id=0x0d4 (Toshiba
Satellite 2805-S301)

So, I disassemble ltmdmobj.o to see where it is calling lt_pci_find_device
and found that there are three loops, one for each combination listed
above. I changed one, from:

25705:         bb 40 04 00 00         mov $0x440,%ebx
to
25705:         bb d4 00 00 00         mov $0xd4,%ebx

So the loop changed from:
Vendor=0x115d (Xircom) and device=0x440 to 0x45c
to
Vendor=0x115d (Xircom) and device=0x0d4 to 0x45c

Now, when I try to load the module, it detects my modem (of course!) but
generates a very ugly log in /var/log/messages and my machine gets very
unstable:
[cut]
I hope someone out there have more info, cause I got stuck!

Thanks!

Javier

---
Date: Sun, 7 Jan 2001 19:37:42 -0500 (EST)
From: Andreas Plesch <plesch@fas.harvard.edu>
Reply-To: andreas_plesch@harvard.edu
To: discuss@linmodems.org
Subject: Re: ltmodem.o: vendor and device ids supported

Hi Javier,

that is good information and a better way to make the module accept the
"00d4" device. Previously I just pretended in serial.c that it was
detected. However, using setserial results then in various kinds of kernel
crashes.

One difference is the DETECT_IRQ enabling. Did you find any other
differences ? What kind of info may lucent_detect_modem return ?
Did you also try to modify the other xircom loop ?

I will try your approach,
How do you modify the binary object file ? Hope that is not a stupid
question :)

Andreas

---
Date: Sun, 07 Jan 2001 23:20:25 +0000
From: Marvin Stodolsky <stodolsk@erols.com>
To: andreas_plesch@harvard.edu
Subject: Re: Xircom MPCI 56 and the lucent driver

Andreas,
    I'm not sure this route will help BUT,
the thought is that the 2.4.0 kernel is considerable smarter in managing
PCI issues than the 2.2.nn.  So let's set you up with a "Boot to ramdisk
under 2.4.0 which will by pass and complications of your current
configuration, and then test ltmodem.o insertion
...

---
Date: Sun, 07 Jan 2001 23:26:49 -0500
From: Marvin Stodolsky <stodolsk@rcn.com>
To: andreas_plesch@harvard.edu
Subject: Re: Xircom MPCI 56 and the lucent driver
Parts/Attachments:

Andreas Plesch wrote:
>
> Hi Marvin,
>
> glad your are interested in our problem. I downloaded and played with the
> debian installation/rescue disk to understand its concept. It looks nice
> but one problem with it is that the rescue kernel image size is limited to
> about 730K because of the disk size limit. My kernel currently has about
> 750K (the original SUSE70 over 800K). So I could not really test booting
> my kernel from the rescue disk.
Attached. This .rpm  was made by conversion from the Debian  .deb format
with the aline utility
...

---
Date: Sun, 07 Jan 2001 23:35:07 -0500
From: Marvin Stodolsky <stodolsk@rcn.com>
To: andreas_plesch@harvard.edu
Subject: Re: Xircom MPCI 56 and the lucent driver
Parts/Attachments:

> Otherwise, I am ready to try things,
>
> Andreas

just gunzip the ATTACHED

check out this story at Linux Today:
http://linuxtoday.com/news_story.php3?ltsn=2001-01-05-007-04-NW-LF-KN

Concerning PCI support under 2.4.0

---
Date: Mon, 8 Jan 2001 16:41:13 -0300
From: Javier Nigro <javier@nigro>
To: discuss@linmodems.org
Cc: andreas_plesch@harvard.edu
Subject: Re: ltmodem.o: vendor and device ids supported
Parts/Attachments:

 Hi!,

First, let me add to the previous mail that although ltmodem.o goes further
with the changes I made, it still fails to get loaded (Device or resource
busy).

My log says "ttyLT00 at 0xff38 is a Lucent" and that was what made me think
that everything was ok, but rs_init() gives me back a negative value. So,
lucent_init_modem() is not being called at all.

> One difference is the DETECT_IRQ enabling. Did you find any other
> differences ? What kind of info may lucent_detect_modem return ?
> Did you also try to modify your the other xircom loop ?

Apparently lucent_detect_modem() returns 0 if it was able to detect the
modem and a non zero value if it fails to do so.
I only tried with one loop, but I think the result would be equal for the
other.

>
> I will try your approach,
> How do you modify the binary object file ? Hope that is not a stupid
> question :)

Well, it is not a stupid question at all. I found a way to fool the
ltmdmobj.o file. Of course there could be better and safer ways to do this,
but I'm not an expert. So here's the procedure I followed

First I dissassembled ltmdmobj.o with the command:

# objdump -d ltmdmobj.o > code.txt

Then I edited code.txt and look for function lucent_detect_modem. Once
there, I saw famous numbers like 0x11c1, 0x115d, 0x440, etc. You know them,
don't you?

There is the code where lt_pci_find_device is called.

I decided to modified the starting dev_id of the loop:

25705: bb 40 04 00 00 mov $0x440,%ebx

The hexa numbers "bb 40 04 00 00", are the machine code for "mov
$0x440,%ebx" and they exist in ltmdmobj.o in that exact order. So if you
want to modified it to read:

25705: bb d4 00 00 00 mov $0xd4,%ebx

you should find that string and modified the second and third numbers: 40
04 by d4 00. Once you made the changes, you can dissassemble it again and
check to see if it was properly modified.

In order to make that change, you can use any binary editor that allows you
to change just one byte. As I didn't have one handy, I made a C program
(which I'll send to you in a separate mail, because I don't know if the
list accepts attachments).

One more thing, it would be a good idea to add a debugging line in function
lt_pci_find_device() to know with wich parameter it is been called.

printk("lt_pci_find_device(id=0x%x, num=0x%x)\n", id, num);

Well, I hope you'd have better luck than me!

That's all!
Javier (Buenos Aires, Argentina)

---
Date: Tue, 09 Jan 2001 16:06:56 +0000
From: Marvin Stodolsky <stodolsk@erols.com>
To: andreas_plesch@harvard.edu
Subject: Re: Xircom MPCI 56 and the lucent driver

Andreas

http://www.motorola.com/networking/products/sm56_pci_software_modem/index.html

This I suspect is the chip in your modem, NOT the  Lucent.

MarvS

:
>
> Hi Marvin,
>
> here is what I found out by using kernel 2.4.0 and the co-compiled
> ltmodem.o.
>
...

---
Date: Tue, 09 Jan 2001 18:25:10 +0000
From: Marvin Stodolsky <stodolsk@erols.com>
To: andreas_plesch@harvard.edu
Subject: OK Lucent Re: Xircom MPCI 56 and the lucent driver

Andreas

> May I ask what makes you think so ? I took some pictures of the modem,
> http://sites.netscape.net/andreasplesch/modempics/modempics.htm, do
> you recognize anything ?
Unfotunately my card is buried in this company COMPAQ laptop, which
can't be opened without breaking the Warraty
Modem producers just buy the chipset from Lucent, and make put it on
boards in diverse ways.

> I still think its a lucent chip set because all windows driver files are
> called lt* and the main one references ltmodem.pdb in a mars >subdirectory.

Good arguements

I really have no definitive info.

I just remembered the Motorola stuff from another email to the list.

MarvS

---

Date: Tue, 9 Jan 2001 23:20:39 +0100 (CET)
From: LiTTlE-John <f.carone@tiscalinet.it>
To: Javier Nigro <javier@nigro>
Cc: discuss@linmodems.org, andreas_plesch@harvard.edu
Subject: Re: ltmodem.o: vendor and device ids supported

On Mon, 8 Jan 2001, Javier Nigro wrote:

>  Hi!,
>
> First, let me add to the previous mail that although ltmodem.o goes further
with the changes I made, it still fails to get loaded (Device or resource busy).
>
> My log says "ttyLT00 at 0xff38 is a Lucent" and that was what made me
>think that everything was ok, but rs_init() gives me back a negative value.
> So, lucent_init_modem() is not being called at all.
>
>
> Apparently lucent_detect_modem() returns 0 if it was able to detect the
> modem and a non zero value if it fails to do so.

 Indeed, it searches in this order (vendor, pcidevice)
  11c1,440
  115d,0
  115d,45a

 if it fails then it searches for toshiba and compaq `special' devices. I
don't know why toshiba or compaq could be different, but this is done.
 So, if it founds the modem the lucent_detect_modem returns 0, otherwise
-1 (I haven't experienced any other values).

> I only tried with one loop, but I think the result would be equal for the
> other.
>
> >
> > I will try your approach,
> > How do you modify the binary object file ? Hope that is not a stupid
> > question :)
>
> Well, it is not a stupid question at all.

 A nice tool I suggest is called biew, it's opensource and very very nice
(the interface is very close to hiew, but the program is much more
powerful).
>[...]

 filippo.

---
Date: Wed, 10 Jan 2001 01:49:08 -0500 (EST)
From: Andreas Plesch <plesch@fas.harvard.edu>
Reply-To: andreas_plesch@harvard.edu
To: David Newall <davidn@rebel.net.au>
Cc: discuss@linmodems.org
Subject: Re: ltmodem.o: vendor and device ids supported


Wow, it worked. I write this as I am connected with minicom via my Xircom
pci device id "00d4" modem as found on the Toshiba 280x series laptops.
And I started to hate this modem. Javiers trick did it. It involves just
modifying one byte in the ltmdmobj.o file. So far (10 min) it works
flawlessly.

Details soon and on my laptop page
(http://sites.netscape.net/andreasplesch/toshiba.htm)

I used this setserial command:

setserial /dev/ttyLT0 irq 11 port 0xff38 ^fourport ^auto_irq skip_test

Andreas

Thanks to all involved

---
Date: Wed, 10 Jan 2001 15:38:58 -0300
From: root <javier@nigro.com>
To: discuss@linmodems.org, plesch@fas.harvard.edu
Subject: Re: ltmodem.o: vendor and device ids supported

Hi everybody!

YEEEEEEEES!! I'm connected to the Internet with my Xircom under Linux!!
(dev=d4 SO OUT OF RANGE!) using pppd. I've been connected for 30 minutes
now, and works very good.

Andreas, it worked for me too. I don't know why didn't it worked the
first time... I must have done something wrong with my C program, but
biew saved me! Thanks!

Just for the record:
Toshiba 2805-S301
Xircom modem (115d) devid=0xd4
Kernel 2.2.16-22 (Redhat 7.0)
In order to work, I modified the second loop of 115d and changed from
0x440 to 0x0d4.
The special file created by ltinst didn't work for me. Instead, I did:

mknod /dev/ttyLT0 c 62 64

After that, the setserial as describe by Andreas in this thread should
do the rest.

Sorry Windows, I won't be needing you much now!
Bye, Javier.
Buenos Aires, Argentina.

---

Date: Wed, 10 Jan 2001 21:55:58 +0100 (CET)
From: LiTTlE-John <f.carone@tiscalinet.it>
To: andreas_plesch@harvard.edu
Cc: discuss@linmodems.org
Subject: Re: HowTo paragraph Re: ltmodem.o: vendor and device ids supported]]

On Wed, 10 Jan 2001, Andreas Plesch wrote:

>
> Hi
>
> It may make sense to just supply a modified ltmdmobj.o (or binary patch
> for it) which accepts all device ids for Xircom (and Lucent ?, devices): 0
> - 0x0f is accepted in the first loop, and then just modify to 0x0010 -
> 0x0500 (or so) in the second loop.

 I don't know how this can be safe. In the code of the object i saw that
there's a routine which sets some registers and variables values on the base
of the dev_id. So if we let the driver run even for the dev_ids it is not
prepared for, i don't know which could be the result.

> Then the procedure for the user should
> be to first look up the device ids (not sure if I can do system fool proof
> scripting) and then decide which driver to use. Then there could be a list
> of modems (device ids) which are known to work. And a warning that
> although the driver gets loaded, the system may become unstable or crash.

 this is reasonable.

>
> If sb else can do system (kernel) agnostic scripting here is my
> suggestion:
> [...text ripped...]
>
>
> Background:
>
>  o ltmodem.o = serial.c (source) + ltmdmobj.o (lucent binary)
>  o serial.c calls function in ltmdmobj.o which "detects" modem

   short int lucent_detect_modem(void) (i think these are the right values)

>  o disassembly shows that detection in ltmdmobj.o is based on pci vendor
> ids and device ids

   I confirm this.


>  o for xircom vendor id, only device ids between 0 and 0x0f (sb with
> assembler skills should check that) and 0x0440 and 0x045c are accepted
> (detected)

   confirmed.

>  o however, ltmdmobj.o is old, newer devices have other ids but still
> compatible chip sets

 don't know a lot about winmodem hardware in general, anyway it looks a
reasonable hypothesis.

>  o solution: modify checking part in ltmdmobj.o, real solution new driver

  i agree.

>
> How:
>
> several alternatives
>
>  o just use ltmodem-5.78mod.tgz with premodified ltmdmobj-mod.o
>  o apply binary patch for ltmdmobj.o
>  o have a look yourself and modify with these tools: objdump, beiw

 the last is the one i prefer more, anyone could modify the file himself and
then let the list know about modifications and results.

> beiw is binary editor with integrated disassembler (all objdump options).
>
> Basic procedure:
> [...text ripped...]
>
> 5) study more (e.g. InitVariables is called before that, what does it do?)
> and let others know on discuss@linmodems.org
>
> Thanks:
>
> to Javier Nigro for beginning the disassembly
> to Filippo Carone <f.carone@tiscalinet.it> for confirming and pointing to
> biew
>
> Please comment, correct and/or expand.
 >
> This is more or less what I will put up on my page, maybe also a
> binary patch to ltmdmobj.o
>
> Andreas
>

 filippo.

---

Date: Thu, 11 Jan 2001 11:59:53 +1100 (EST)
From: Mark Spieth <mspieth@dclabs.com.au>
To: Andreas Plesch <andreas_plesch@harvard.edu>
Cc: Marvin Stodolsky <stodolsk@erols.com>, Sean Walbran <sean@walbran.org>
Subject: Re: HowTo paragraph Re: ltmodem.o: vendor and device ids supported]]
Parts/Attachments:
   1 Shown    101 lines  Text
   2   OK    ~109 KB     Text (charset: Unknown), ""
----------------------------------------

On Wed, 10 Jan 2001, Andreas Plesch wrote:

>
> This is much preferable.
>
> I volunteer to testdrive. And maybe try it myself but am not C coder.
>
> It took me awhile to understand how this works. Good around the
> corner thinking. I did not know that lucent_detect_modem calls
> lt_pci_find_device but could have guessed :).
>
> Why not provide two versions for users: one like this with known to work
> additional pci pairs (now just one), and one which just allows a large
> range (0x0010 to 0x00ff, or to 0x0440?, all?) of device ids for both
> xircom/lucent. This would be labelled "hi-risk, probably not working" but
> should include a plea to submit the pci pair if working. It could be
> called the ltmodem lottery :) Win a working modem ! And a precious spot in
> the linmodem HOWTO ! Or loose some data during a crash ! This way people
> who are afraid to type make could still take advantage and provide input.

As far as I know, all pci ids are allocated by a central body. dont know
what that is though.

>
> Even better would be a way to check directly (without device ids) if the
> modem has a lucent MARS/MARS3 chip set. Is this somehow possible short of
> looking at the chip set ?
>

this would be difficult. I attach a reverse engineering attempt of the
previous 5.68 driver as it has some interesting bits of code which should
work. see especially lucent_detect_modem and FindTos the toshiba finder

ma
> Andreas
>
> On Thu, 11 Jan 2001, Mark Spieth wrote:
>
> > here is an alternate solution which should not need binary patching
> >
> > in ltmodem.c change lt_pci_find_device to check other id/num pairs when
> > one of them is detected. Note the following is untested but you should get
>                  ^^^^^^^^ should be "looked for"
> > the drift.
> >
> > struct PCI_IDs {
>             ^
> >     int vendor_id;
>             ^^^^^^^^^
> >     int device_id;
>             ^^^^^^^^^
> > };
> >
> > struct PCI_IDs pci_ids[] = {
>             ^       ^
> > {id1,num1},
> > {id2,num2}
> > };
> >
> > BOOL lt_pci_find_device ( unsigned int id, unsigned int num )
> > {
> >         dev = pci_find_device ( id, num, dev );
> >         if ((dev) && (dev->irq))
> >         {
> >                 return TRUE;
> >         }
> >     int len = sizeof(pci_ids)/sizeof(pci_ids[0]);
>                             ^               ^
> >     if (id == PCI_VENDOR_ID_ATT && num == PCI_DEVICE_ID_ATT_L56XMF)
>                   0x11c1                      0x0440
> >     {
> >             int i;
> >             for(i=0;i<len;i++)
> >             {
> >             if (lt_pci_find_device(pci_ids[i].vendor_id,
> pci_ids[i].device_id))
                        >    ^    ^  ^^^^^^^^^
> >             {
> >                     return TRUE;
> >             }
> >             }
> >     }
> >         return FALSE;
> > }
>
> ^: some additions to help me read this.
>
> Hmm, now I do have try it myself.
>

--
Mark Spieth, PhD

---
Date: Thu, 11 Jan 2001 04:24:04 -0500 (EST)
From: Andreas Plesch <plesch@fas.harvard.edu>
Reply-To: andreas_plesch@harvard.edu
To: Mark Spieth <mspieth@dclabs.com.au>
Cc: Marvin Stodolsky <stodolsk@erols.com>, Sean Walbran <sean@walbran.org>
Subject: Re: HowTo paragraph Re: ltmodem.o: vendor and device ids supported]]

That was quick.

I tested.

On Thu, 11 Jan 2001, Mark Spieth wrote:

> heres a test package for you
>
> http://www.test.dclabs.com.au/linmodem/ltmodem-5.78e1.tar.gz
>
> with this one you can go
>
> modprobe ltmodem.o vendor_id=0x11c1 device_id=0x400

This does not work for me, only for people who actually get a device
supplying these ids to pci_find_device according to the code. But this is
good because this way people have to look up their ids and can report
them.

insmod ltmodem.o vendor_id=0x115d device_id=0x00d4
works well, as expected.

I also tested putting in my id pair in the pci_ids list as in

/* list of confirmed devices */
static struct PCI_IDs pci_ids[] = {
{ 0x115d , 0x00d4 }
};

and then
insmod ltmodem.o
works also, as expected.

great job,

Andreas

---
HAPPY END
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 1.35