2003-03-11 19:17:03

by Richard B. Johnson

[permalink] [raw]
Subject: Firewire on Linux-2.4.20


Hello FIREWIRE gurus!

I am trying to get Linux-2.4.20 running! I need the
IEEE1394 PCILYNX module working. The configuration has
strangely changed since linux-2.4.18 so the required
object file becomes an 8-byte text file!

Script started on Tue Mar 11 14:15:40 2003
# pwd
/usr/src/linux-2.4.20/drivers/ieee1394
# ls -la pcilynx.o
-rw-r--r-- 1 root root 8 Mar 11 14:12 pcilynx.o
# cat pcilynx.o
!<arch>
# exit
exit

Script done on Tue Mar 11 14:16:15 2003

I haven't a clue how to fix this. Does anybody know?
Here is the relevant parts of ".config"

#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
CONFIG_IEEE1394=m

#
# Device Drivers
#
CONFIG_IEEE1394_PCILYNX=m
CONFIG_IEEE1394_PCILYNX_LOCALRAM=y
CONFIG_IEEE1394_PCILYNX_PORTS=y
CONFIG_IEEE1394_OHCI1394=m

#
# Protocol Drivers
#
# CONFIG_IEEE1394_VIDEO1394 is not set
CONFIG_IEEE1394_SBP2=m
CONFIG_IEEE1394_RAWIO=m
# CONFIG_IEEE1394_VERBOSEDEBUG is not set

#
# I2O device support
#
CONFIG_I2O=m
CONFIG_I2O_PCI=m
CONFIG_I2O_BLOCK=m
CONFIG_I2O_LAN=m
CONFIG_I2O_SCSI=m
CONFIG_I2O_PROC=m

Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.



2003-03-11 19:53:23

by Ben Collins

[permalink] [raw]
Subject: Re: Firewire on Linux-2.4.20

On Tue, Mar 11, 2003 at 02:29:39PM -0500, Richard B. Johnson wrote:
>
> Hello FIREWIRE gurus!
>
> I am trying to get Linux-2.4.20 running! I need the
> IEEE1394 PCILYNX module working. The configuration has
> strangely changed since linux-2.4.18 so the required
> object file becomes an 8-byte text file!

I'd much rather see the output of this:

# rm drivers/ieee1394/pcilynx.o
# make SUBDIRS=drivers/ieee1394


Mainly, I want to see the command line and output from the kernel
command line. The pcilynx.o you shows seems to be an attempted AR
archive, which is really weird.

--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo - http://www.deqo.com/

2003-03-11 20:26:26

by Richard B. Johnson

[permalink] [raw]
Subject: Re: Firewire on Linux-2.4.20

On Tue, 11 Mar 2003, Ben Collins wrote:

> On Tue, Mar 11, 2003 at 02:29:39PM -0500, Richard B. Johnson wrote:
> >
> > Hello FIREWIRE gurus!
> >
> > I am trying to get Linux-2.4.20 running! I need the
> > IEEE1394 PCILYNX module working. The configuration has
> > strangely changed since linux-2.4.18 so the required
> > object file becomes an 8-byte text file!
>
> I'd much rather see the output of this:
>
> # rm drivers/ieee1394/pcilynx.o
> # make SUBDIRS=drivers/ieee1394
>
>
> Mainly, I want to see the command line and output from the kernel
> command line. The pcilynx.o you shows seems to be an attempted AR
> archive, which is really weird.
>

Here it is....
Script started on Tue Mar 11 15:25:13 2003
# sh -v xxx.xxx


rm drivers/ieee1394/*.o
make SUBDIRS=drivers/ieee1394
. scripts/mkversion > .tmpversion
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DUTS_MACHINE='"i386"' -DKBUILD_BASENAME=version -c -o init/version.o init/version.c
make CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe " -C drivers/ieee1394
make[1]: Entering directory `/usr/src/linux-2.4.20/drivers/ieee1394'
make all_targets
make[2]: Entering directory `/usr/src/linux-2.4.20/drivers/ieee1394'
rm -f ieee1394drv.o
ar rcs ieee1394drv.o
make[2]: Leaving directory `/usr/src/linux-2.4.20/drivers/ieee1394'
make[1]: Leaving directory `/usr/src/linux-2.4.20/drivers/ieee1394'
ld -m elf_i386 -T /usr/src/linux-2.4.20/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o init/do_mounts.o \
--start-group \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \
drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/cdrom/driver.o drivers/sound/sounddrivers.o drivers/pci/driver.o drivers/video/video.o \
net/network.o \
/usr/src/linux-2.4.20/arch/i386/lib/lib.a /usr/src/linux-2.4.20/lib/lib.a /usr/src/linux-2.4.20/arch/i386/lib/lib.a \
--end-group \
-o vmlinux
nm vmlinux | grep -v '\(compiled\)\|\(\.o$\)\|\( [aUw] \)\|\(\.\.ng$\)\|\(LASH[RL]DI\)' | sort > System.map

# cd drivers/ieee*
# ls *.o
ieee1394drv.o
# strings *.o
!<arch>
# cat *.o
!<arch>
# exit
exit

Script done on Tue Mar 11 15:26:29 2003


Here's another hack at it:

Script started on Tue Mar 11 15:30:02 2003
# sh -v xxx.xxx

rm drivers/ieee1394/*.o
make SUBDIRS=drivers/ieee1394 modules
make -C drivers/ieee1394 CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE" MAKING_MODULES=1 modules
make[1]: Entering directory `/usr/src/linux-2.4.20/drivers/ieee1394'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=ieee1394_core -DEXPORT_SYMTAB -c ieee139
4_core.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=ieee1394_transactions -c -o ieee1394_tra
nsactions.o ieee1394_transactions.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=hosts -c -o hosts.o hosts.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=highlevel -c -o highlevel.o highlevel.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=csr -c -o csr.o csr.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=nodemgr -c -o nodemgr.o nodemgr.c
ld -m elf_i386 -e stext -r -o ieee1394.o ieee1394_core.o ieee1394_transactions.o hosts.o highlevel.o csr.o nodemgr.o
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=pcilynx -c -o pcilynx.o pcilynx.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=ohci1394 -DEXPORT_SYMTAB -c ohci1394.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=raw1394 -c -o raw1394.o raw1394.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=sbp2 -c -o sbp2.o sbp2.c
make[1]: Leaving directory `/usr/src/linux-2.4.20/drivers/ieee1394'


# cd drivers/ieee*
# ls *.o
csr.o hosts.o ieee1394_core.o nodemgr.o pcilynx.o sbp2.o
highlevel.o ieee1394.o ieee1394_transactions.o ohci1394.o raw1394.o
# ls -la pcilynx.o
-rw-r--r-- 1 root root 16432 Mar 11 15:30 pcilynx.o
# depmod pcilynx.o
depmod: *** Unresolved symbols in pcilynx.o
pcilynx.o:

# module vendor device subvendor subdevice class class_mask driver_data
pcilynx.o 0x0000104c 0x00008000 0xffffffff 0xffffffff 0x00000000 0x00000000 0x00000000
# insmod pcilynx.o
pcilynx.o: unresolved symbol i2c_transfer
pcilynx.o: unresolved symbol i2c_bit_del_bus
pcilynx.o: unresolved symbol i2c_bit_add_bus
# exit
exit

Script done on Tue Mar 11 15:32:17 2003

This shows some unresolved symbols because the newer pcilynx.o requires
i2c support (some shared bit-banger) and, even though it was configured,
no i2c stuff got built!

Script started on Tue Mar 11 15:35:35 2003
# pwd
/usr/src/linux-2.4.20/drivers/i2c
# ls
Config.in i2c-algo-pcf.c i2c-ite.h i2c-proc.c
Makefile i2c-core.c i2c-keywest.c i2c-velleman.c
i2c-adap-ite.c i2c-dev.c i2c-keywest.h
i2c-algo-bit.c i2c-elektor.c i2c-pcf8584.h
i2c-algo-ite.c i2c-elv.c i2c-philips-par.c
# exit
exit

Script done on Tue Mar 11 15:35:53 2003


FYI, this is an un-patched kernel right "out-of-the-box",
linux-2.4.20.tar.gz

I just did:

cd /usr/src/linux-2.4.20.tar.gz
cp ../linux-2.4.18/.config .
make oldconfig # Answered a few new questions
make dep
make bzImage
make modules
make modules_install


Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.


2003-03-11 20:34:06

by Ben Collins

[permalink] [raw]
Subject: Re: Firewire on Linux-2.4.20

> # cd drivers/ieee*
> # ls *.o
> csr.o hosts.o ieee1394_core.o nodemgr.o pcilynx.o sbp2.o
> highlevel.o ieee1394.o ieee1394_transactions.o ohci1394.o raw1394.o
> # ls -la pcilynx.o
> -rw-r--r-- 1 root root 16432 Mar 11 15:30 pcilynx.o
> # depmod pcilynx.o
> depmod: *** Unresolved symbols in pcilynx.o
> pcilynx.o:

> pcilynx.o: unresolved symbol i2c_transfer
> pcilynx.o: unresolved symbol i2c_bit_del_bus
> pcilynx.o: unresolved symbol i2c_bit_add_bus

Everything built fine this time. Redo "make modules" with the SUBDIRS
option to get the rest built.

I strongly believe this is something local to your system. Maybe your
system clock is wrong and it is confusing make. Maybe you don't have all
the right tools installed. I'm not realy sure, but I do know it is not a
problem in ieee1394 itself.

--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo - http://www.deqo.com/

2003-03-11 20:55:10

by Richard B. Johnson

[permalink] [raw]
Subject: Re: Firewire on Linux-2.4.20

On Tue, 11 Mar 2003, Ben Collins wrote:

> > # cd drivers/ieee*
> > # ls *.o
> > csr.o hosts.o ieee1394_core.o nodemgr.o pcilynx.o sbp2.o
> > highlevel.o ieee1394.o ieee1394_transactions.o ohci1394.o raw1394.o
> > # ls -la pcilynx.o
> > -rw-r--r-- 1 root root 16432 Mar 11 15:30 pcilynx.o
> > # depmod pcilynx.o
> > depmod: *** Unresolved symbols in pcilynx.o
> > pcilynx.o:
>
> > pcilynx.o: unresolved symbol i2c_transfer
> > pcilynx.o: unresolved symbol i2c_bit_del_bus
> > pcilynx.o: unresolved symbol i2c_bit_add_bus
>
> Everything built fine this time. Redo "make modules" with the SUBDIRS
> option to get the rest built.
>
> I strongly believe this is something local to your system. Maybe your
> system clock is wrong and it is confusing make. Maybe you don't have all
> the right tools installed. I'm not realy sure, but I do know it is not a
> problem in ieee1394 itself.
>

Well it seems that I2C has to be configured into the kernel, not
a module, for it to get built. Something seems screwed up with
the configuration. I started, again, with a new kernel tree, configured
from scratch, answering all the questions in `make config` <whew>,
instead of `make oldconfig` with the previous ".config" file. At
least it looks like it might build the stuff. I am currently building
the base kernel (bzImage) again. The kernel builds fine. That's what
I am running. I just can't get all my stuff working because the ieee1394
hardware driver won't build.

The system clock is within a few seconds of NIST and is not set
during the day. It gets set at 2:00 AM every morning by crond. The
hardware clock is updated afterwards.


Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.