Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 May 1999 15:52:28 +0200 (CEST)
From:      Nick Hibma <nick.hibma@jrc.it>
To:        Jamie Bowden <ragnar@sysabend.org>
Cc:        hardware@FreeBSD.ORG
Subject:   Re: USB
Message-ID:  <Pine.BSF.3.96.990506150728.47841B-100000@elpc36.jrc.it>
In-Reply-To: <Pine.BSF.3.96.990504214557.15693A-100000@beelzebubba.sysabend.org>

next in thread | previous in thread | raw e-mail | index | archive | help

1) It's not recommendable to use 3.1 if you want to make any serious use
of USB.

2) Scanners are not yet supported as devices and will be attached to by
the ugen device (if you have compiled that in). If it is attached by the
ugen device, could you do me a favour and run the usb_dump utilitiy you
can fetch from
   
        http://www.etla.net/~n_hibma/usb/usb.pl   


3) Fix committed to 3.1. See patch below. Thanks for the push.

Index: uhci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/usb/uhci.c,v
retrieving revision 1.7
diff -u -r1.7 uhci.c
--- uhci.c      1999/01/10 18:42:51     1.7
+++ uhci.c      1999/05/06 13:12:40
@@ -313,6 +313,8 @@
        uhci_run(sc, 0);                        /* stop the controller
*/
        UWRITE2(sc, UHCI_INTR, 0);              /* disable interrupts */
 
+       uhci_busreset(sc);
+
        /* Allocate and initialize real frame array. */
        r = usb_allocmem(sc->sc_dmatag, 
                         UHCI_FRAMELIST_COUNT * sizeof(uhci_physaddr_t),
@@ -322,8 +324,6 @@
        sc->sc_pframes = KERNADDR(&dma);
        UWRITE2(sc, UHCI_FRNUM, 0);             /* set frame number to 0
*/
        UWRITE4(sc, UHCI_FLBASEADDR, DMAADDR(&dma)); /* set frame list
*/
-
-       uhci_busreset(sc);
 
        /* Allocate the dummy QH where bulk traffic will be queued. */
        bsqh = uhci_alloc_sqh(sc);




On Tue, 4 May 1999, Jamie Bowden wrote:

 > 
 > I've compiled in USB support into 3.1-R, just to see if I can perhaps see
 > a probe of my scanner (HP ScanJet 6200c).  During boot my dmesg looks like
 > so:
 > 
 > Copyright (c) 1992-1999 FreeBSD Inc.
 > Copyright (c) 1982, 1986, 1989, 1991, 1993
 >         The Regents of the University of California. All rights reserved.
 > FreeBSD 3.1-RELEASE #11: Mon May  3 15:26:42 EDT 1999
 >     jamie@animaniacs:/usr/src/sys/compile/animaniacs
 > Timecounter "i8254"  frequency 1193182 Hz
 > Timecounter "TSC"  frequency 233865368 Hz
 > CPU: AMD-K6tm w/ multimedia extensions (233.87-MHz 586-class CPU)
 >   Origin = "AuthenticAMD"  Id = 0x562  Stepping=2
 >   Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
 > real memory  = 134217728 (131072K bytes)
 > avail memory = 127926272 (124928K bytes)
 > Preloaded elf kernel "kernel" at 0xf0277000.
 > Probing for devices on PCI bus 0:
 > chip0: <VIA 82C595 (Apollo VP2) system controller> rev 0x06 on pci0.0.0
 > chip1: <VIA 82C586 PCI-ISA bridge> rev 0x27 on pci0.7.0
 > ide_pci0: <VIA 82C586x (Apollo) Bus-master IDE controller> rev 0x06 on
 > pci0.7.1
 > uhci0: <VIA 83C572 USB Host Controller> rev 0x02 int d irq 9 on pci0.7.2
 > usb0: USB version 1.0, interrupting at 9
 > ahc0: <Adaptec 2940 Ultra SCSI adapter> rev 0x01 int a irq 11 on pci0.8.0
 > ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
 > vga0: <Matrox MGA 2164W graphics accelerator> rev 0x00 int a irq 10 on
 > pci0.9.0
 > fxp0: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x05 int a irq 12 on
 > pci0.11.0
 > fxp0: Ethernet address 00:a0:c9:e1:6d:b0
 > Probing for devices on the ISA bus:
 > sc0 on isa
 > sc0: VGA color <16 virtual consoles, flags=0x0>
 > atkbdc0 at 0x60-0x6f on motherboard
 > atkbd0 irq 1 on isa
 > sio0 at 0x3f8-0x3ff irq 4 flags 0x20000 on isa
 > sio0: type ST16650A
 > sio1 at 0x2f8-0x2ff irq 3 flags 0x20000 on isa
 > sio1: type ST16650A
 > fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
 > fdc0: FIFO enabled, 8 bytes threshold
 > fd0: 1.44MB 3.5in
 > fd1: 1.2MB 5.25in
 > wdc0 at 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa
 > wdc0: unit 0 (wd0): <WDC AC22500L>, DMA, 32-bit, multi-block-16
 > wd0: 2441MB (4999680 sectors), 4960 cyls, 16 heads, 63 S/T, 512 B/S
 > wdc1 at 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa
 > wdc1: unit 0 (wd2): <WDC AC31000F>, 32-bit, multi-block-16
 > wd2: 1033MB (2116800 sectors), 2100 cyls, 16 heads, 63 S/T, 512 B/S
 > ppc0 at 0x378 irq 7 on isa
 > ppc0: Winbond chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 > ppc0: FIFO with 16/16/16 bytes threshold
 > ppb0: IEEE1284 device found /NIBBLE/ECP
 > Probing for PnP devices on ppbus0:
 > ppbus0: <HEWLETT-PACKARD DESKJET 680C> MLC,PCL,PML
 > nlpt0: <generic printer> on ppbus 0
 > nlpt0: Interrupt-driven port
 > vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa
 > npx0 on motherboard
 > npx0: INT 16 interface
 > sb0 at 0x220 irq 5 drq 1 on isa
 > snd0: <SoundBlaster 16 4.11> 
 > sbxvi0 at drq 5 on isa
 > snd0: <SoundBlaster 16 4.11> 
 > sbmidi0 at 0x330 on isa
 > snd0: <SoundBlaster MPU-401> 
 > opl0 at 0x388 on isa
 > snd0: <Yamaha OPL3 FM> 
 > joy0 at 0x201 on isa
 > joy0: joystick
 > usbd_match
 > usb0: <VIA 83C572 USB Host Controller>
 > usbd_attach
 > usbd_new_device bus=0xf0b19000 depth=0 lowspeed=0
 > usbd_new_device: adding unit addr=1, rev=100, class=9, subclass=0,
 > protocol=0, maxpacket=64, ls=0
 > usbd_new_device: new dev (addr 1), dev=0xf0752280, parent=0xf0b16900
 > uhub0 at usb0
 > uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 > usbd_set_config_index: (addr 1) attr=0x40, selfpowered=1, power=0,
 > powerquirk=0
 > usbd_set_config_index: set config 1
 > usbd_set_config_index: setting new config 1
 > uhub0: 2 ports with 2 removable, self powered
 > usbd_init_port: adding hub port=1 status=0x0300 change=0x0000
 > usbd_init_port: adding hub port=2 status=0x0101 change=0x0001
 > uhub_explore: status change hub=1 port=2
 > usbd_new_device bus=0xf0b19000 depth=1 lowspeed=0
 > uhci_waitintr: timeout
 > uhci_waitintr: timeout
 > uhci_waitintr: timeout
 > uhci_waitintr: timeout
 > uhci_waitintr: timeout
 > usbd_new_device: addr=2, getting first desc failed
 > usbd_remove_device: 0xf0b3ff80
 > uhub_explore: usb_new_device failed, error=17(TIMEOUT)
 > uhub0: device problem, disabling port 2
 > usb0: Host System Error
 > usb0: controller halted
 > Waiting 5 seconds for SCSI devices to settle
 > changing root device to da0s4a
 > cd0 at ahc0 bus 0 target 6 lun 0
 > cd0: <PLEXTOR CD-ROM PX-32CS 1.00> Removable CD-ROM SCSI-2 device 
 > cd0: 20.0MB/s transfers (20.0MHz, offset 15)
 > cd0: Attempt to query device size failed: NOT READY, Medium not present
 > da0 at ahc0 bus 0 target 0 lun 0
 > da0: <IBM DDRS-34560W S71D> Fixed Direct Access SCSI-2 device 
 > da0: 40.0MB/s transfers (20.0MHz, offset 8, 16bit), Tagged Queueing
 > Enabled
 > da0: 4357MB (8925000 512 byte sectors: 255H 63S/T 555C)
 > 
 > I have removed the scanner from the port and booted, and it still disables
 > the usb0 controller.  Is the VIA VP2 chipset not fully supported?
 > Motherboard is an FIC PA-2007 with the 82C586A chipset (as opposed to the
 > 82C586B chipset).  My config file is as follows:
 > 
 > machine         "i386"
 > cpu             "I586_CPU"
 > ident           animaniacs
 > maxusers        64
 > options         INET                    #InterNETworking
 > options         FFS                     #Berkeley Fast Filesystem
 > options         FFS_ROOT                #FFS usable as root device [keep
 > this!]
 > options         PROCFS                  #Process filesystem
 > options         "COMPAT_43"             #Compatible with BSD 4.3 [KEEP
 > THIS!]
 > options         SCSI_DELAY=5000         #Be pessimistic about Joe SCSI
 > device
 > options         UCONSOLE                #Allow users to grab the console
 > options         "CPU_FASTER_5X86_FPU"
 > options         "CPU_WT_ALLOC"
 > options         "NO_F00F_HACK"
 > options         "NO_MEMORY_HOLE"
 > options         SYSVSHM
 > options         SYSVSEM
 > options         SYSVMSG
 > options         AHC_ALLOW_MEMIO
 > options         "VM86"
 > options         VESA            # needs VM86 defined too!!
 > options         USBVERBOSE
 > options         USB_DEBUG
 > config          kernel  root on da0
 > controller      isa0
 > controller      pci0
 > controller      fdc0    at isa? port "IO_FD1" bio irq 6 drq 2
 > disk            fd0     at fdc0 drive 0
 > disk            fd1     at fdc0 drive 1
 > controller      wdc0    at isa? port "IO_WD1" bio irq 14 flags 0xa0ffa0ff
 > disk            wd0     at wdc0 drive 0
 > controller      wdc1    at isa? port "IO_WD2" bio irq 15 flags 0xa0ffa0ff
 > disk            wd2     at wdc1 drive 0
 > controller      ahc0
 > controller      scbus0
 > device          da0
 > device          pass0
 > device          cd0     #Only need one of these, the code dynamically
 > grows
 > device          sc0     at isa? tty
 > controller      atkbdc0 at isa? port IO_KBD tty
 > device          atkbd0  at isa? tty irq 1
 > device          vga0    at isa? port ? conflicts
 > device          npx0    at isa? port IO_NPX iosiz 0x0 flags 0x0 irq 13
 > device          sio0    at isa? port "IO_COM1" tty flags 0x20000 irq 4
 > device          sio1    at isa? port "IO_COM2" tty flags 0x20000 irq 3
 > device          fxp0
 > controller      snd0
 > device          sb0     at isa? port 0x220 irq 5 drq 1
 > device          sbxvi0  at isa? drq 5
 > device          sbmidi0 at isa? port 0x330
 > device          opl0    at isa? port 0x388
 > device          joy0    at isa? port "IO_GAME"
 > controller      uhci0
 > controller      ohci0
 > controller      usb0
 > device          uhub0
 > device          ugen0
 > controller      ppc0    at isa? port? net irq 7
 > controller      ppbus0
 > device          nlpt0   at ppbus?
 > pseudo-device   loop
 > pseudo-device   ether
 > pseudo-device   pty     64
 > pseudo-device   splash
 > pseudo-device   gzip            # Exec gzipped a.out's
 > 
 > This works in Windows98, so I know the usb controller and the scanner work
 > together.  Should I wait for 3.2 to start playing with this?  
 > 
 > Also, do I need both the ohci and uhci controllers in the config file?  I
 > only appear to need the uhci controller, but it's not really documented
 > all that well.
 > 
 > Jamie Bowden
 > 
 > -- 
 > 
 > If we've got to fight over grep, sign me up.  But boggle can go.
 > 	-Ted Faber (on Hasbro's request for removal of /usr/games/boggle)
 > 
 > 
 > 
 > To Unsubscribe: send mail to majordomo@FreeBSD.org
 > with "unsubscribe freebsd-hardware" in the body of the message
 > 
 > 




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.990506150728.47841B-100000>