Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 May 2002 19:38:34 +1200
From:      James Pole <james.pole@paradise.net.nz>
To:        freebsd-stable@freebsd.org
Subject:   Why does support for USB depend on Ethernet support?
Message-ID:  <200205191938.34955.james.pole@paradise.net.nz>

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

[-- Attachment #1 --]
Hi guys,

When I add support for USB ("uhci" and "usb") and USB Mices ("usm") without 
including the "ether" pseudo device and compile the kernel, I get this error:

cc -c -O -pipe -march=k6 -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline 
-Wcast-qual  -fformat-extensions -ansi  -nostdinc -I- -I. -I../.. 
-I../../../include -I../../contrib/ipfilter  -D_KERNEL -include opt_global.h 
-elf  -mpreferred-stack-boundary=2  ../../i386/i386/machdep.c
cc -c -O -pipe -march=k6 -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline 
-Wcast-qual  -fformat-extensions -ansi  -nostdinc -I- -I. -I../.. 
-I../../../include -I../../contrib/ipfilter  -D_KERNEL -include opt_global.h 
-elf  -mpreferred-stack-boundary=2  setdef0.c
cc -c -O -pipe -march=k6 -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline 
-Wcast-qual  -fformat-extensions -ansi  -nostdinc -I- -I. -I../.. 
-I../../../include -I../../contrib/ipfilter  -D_KERNEL -include opt_global.h 
-elf  -mpreferred-stack-boundary=2  config.c
cc -c -O -pipe -march=k6 -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline 
-Wcast-qual  -fformat-extensions -ansi  -nostdinc -I- -I. -I../.. 
-I../../../include -I../../contrib/ipfilter  -D_KERNEL -include opt_global.h 
-elf  -mpreferred-stack-boundary=2  setdef1.c
touch hack.c
cc -elf -shared -nostdlib hack.c -o hack.So
rm -f hack.c
sh ../../conf/newvers.sh SATURN
cc -c -O -pipe -march=k6 -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline 
-Wcast-qual  -fformat-extensions -ansi  -nostdinc -I- -I. -I../.. 
-I../../../include -I../../contrib/ipfilter  -D_KERNEL -include opt_global.h 
-elf  -mpreferred-stack-boundary=2  vers.c
linking kernel
if.o: In function `if_setlladdr':
if.o(.text+0x1b08): undefined reference to `arp_ifinit'
usb_ethersubr.o: In function `usbintr':
usb_ethersubr.o(.text+0x31): undefined reference to `ether_input'
*** Error code 1

Stop in /usr/src/sys/compile/SATURN.

If I add Ethernet support (by adding the "ether" pseudo device) the kernel 
compiles fine. I find it odd that USB support depends on support of Ethernet, 
because as far as I'm aware the basic USB devices ("uhci" and "usb") and the 
USB mouse device has nothing to do with ethernet support. Is there any 
particular reason why this is happening?

- James

-- 
James Pole  - www.jamespole.cjb.net
[-- Attachment #2 --]
machine		i386
cpu		I686_CPU
ident		SATURN
maxusers	0

options 	INET
options 	FFS
options 	FFS_ROOT
options 	SOFTUPDATES
options 	UFS_DIRHASH
options 	MSDOSFS
options 	CD9660
options 	PROCFS
options 	COMPAT_43
options 	UCONSOLE
options 	KTRACE
options 	SYSVSHM
options 	SYSVMSG
options 	SYSVSEM
options 	P1003_1B
options 	_KPOSIX_PRIORITY_SCHEDULING
options		ICMP_BANDLIM
options 	KBD_INSTALL_CDEV
options 	ATA_STATIC_ID
options		USER_LDT

device		isa
device		pci

device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0

device		ata
device		atadisk
device		atapicd

# SCSI Controllers
device		ahb		# EISA AHA1742 family
device		ahc		# AHA2940 and onboard AIC7xxx devices
device		amd		# AMD 53C974 (Tekram DC-390(T))
device		isp		# Qlogic family
device		ncr		# NCR/Symbios Logic

# SCSI peripherals
device		scbus		# SCSI bus (required)
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)

device		atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1 flags 0x1

device		vga0	at isa?
device		sc0	at isa? flags 0x100
device		npx0	at nexus? port IO_NPX irq 13

device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? port IO_COM2 irq 3

device		ppc0	at isa? irq 7
device		ppbus
device		lpt
device		ppi

device          uhci
device          usb
device          ums

pseudo-device	loop
#pseudo-device	ether
pseudo-device	tun
pseudo-device	pty

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205191938.34955.james.pole>