xboxboy Posted November 15, 2008 Report Share Posted November 15, 2008 Hi guys, I have a fresh install of 2008.1 now, but I have no network. My motherboard cd has some linux drivers. In the lan folder I have: src folder atl1e.7 copying ldistrib.txt readme and in the src folder is: at.h at_ethtool.c at_hw.c at_hw.h at_main.c at_osdep.h at_param.c atl1e.mod.c kcompat.c kcompat.h kcompat_ethtool.c makefile Where do I go from here? Quote Link to comment Share on other sites More sharing options...
scarecrow Posted November 15, 2008 Report Share Posted November 15, 2008 I suppose the wisest move is reading the "readme" file first. Typically, "make" as user and "make install" as root should create the needed module. For that you will need the matching kernel-devel package, as well as GNU make and gcc installed. For Mandriva 2009 you shouldn't need anything- the driver is included in the kernel (since 2.6.26, I think, but I may be wrong). Quote Link to comment Share on other sites More sharing options...
AussieJohn Posted November 15, 2008 Report Share Posted November 15, 2008 I just don't get it. I am connected to Bigpond ADSL via my LAN connection on the ADSL modem. I have never ever had to install anything to get ADSL up and running after doing the net connection setup during install or fiddle around afterwards. John. Quote Link to comment Share on other sites More sharing options...
xboxboy Posted November 15, 2008 Author Report Share Posted November 15, 2008 Hi Aussie john. I dont get it either, I always am disconnected from the net/router when I install, normally I just plug in the cable and away I go. Im guessing as my board is fairly new that this is why. Quote Link to comment Share on other sites More sharing options...
daniewicz Posted November 15, 2008 Report Share Posted November 15, 2008 xboxboy: So you are attempting to use onboard ethernet? It might be easier to use an (inexpensive) ethernet card. My ethernet cards have always worked without fiddling with Mandriva. Quote Link to comment Share on other sites More sharing options...
ianw1974 Posted November 15, 2008 Report Share Posted November 15, 2008 Some motherboards have an ethernet card that just don't simply have the module in the kernel. I had this problem with any distro that didn't have a 2.6.22 or higher kernel, and since I want to use Xen, which normally uses a 2.6.18 kernel, I couldn't use my onboard ethernet which is an Altansic chipset. So while some people don't have problems and can just connect there hardware and get connected, others have problems and need to compile manually to get it working. The ones who had it working, had hardware that has been supported for ages in Linux, and thus the modules were in the kernel by default. xboxboy, yes it's probably because your board is new like mine is, and has a weird chipset that hasn't been introduced into the kernel yet. It should be fine with newer distros though in the future I expect. Please post the results of: lspci so we can see what card you've got and help you accordingly. If you're gonna go with a PCI slot based ethernet card, go with any Intel based ones as this is what I generally use and they're pretty much guaranteed to work mostly. Either that or 3COM. Quote Link to comment Share on other sites More sharing options...
xboxboy Posted December 5, 2008 Author Report Share Posted December 5, 2008 Hi Ian, sorry about slow reply, decided to redo the boot drive, so have been slow to resinstall 2008.1 The out put is: root@localhost ~]# lspci 00:00.0 Host bridge: Intel Corporation Unknown device 2e20 (rev 03) 00:01.0 PCI bridge: Intel Corporation Unknown device 2e21 (rev 03) 00:1a.0 USB Controller: Intel Corporation USB UHCI Controller #4 00:1a.1 USB Controller: Intel Corporation USB UHCI Controller #5 00:1a.2 USB Controller: Intel Corporation USB UHCI Controller #6 00:1a.7 USB Controller: Intel Corporation USB EHCI Controller #2 00:1b.0 Audio device: Intel Corporation HD Audio Controller 00:1c.0 PCI bridge: Intel Corporation PCI Express Port 1 00:1c.4 PCI bridge: Intel Corporation PCI Express Port 5 00:1c.5 PCI bridge: Intel Corporation PCI Express Port 6 00:1d.0 USB Controller: Intel Corporation USB UHCI Controller #1 00:1d.1 USB Controller: Intel Corporation USB UHCI Controller #2 00:1d.2 USB Controller: Intel Corporation USB UHCI Controller #3 00:1d.7 USB Controller: Intel Corporation USB EHCI Controller #1 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90) 00:1f.0 ISA bridge: Intel Corporation LPC Interface Controller 00:1f.2 RAID bus controller: Intel Corporation 82801 SATA RAID Controller 00:1f.3 SMBus: Intel Corporation SMBus Controller 01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0641 (rev a 1) 02:00.0 Ethernet controller: Attansic Technology Corp. Unknown device 1026 (rev b0) 03:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II Controller (rev b2) 05:03.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 70) I copied the driver files off the motherboard cd into the Downloads folders, changed to the src directory within that, and tried make install as the readme file said to, but it has a couple of errors. The kernel dev files are installed, as I have installed the NVIDIA drivers already. Quote Link to comment Share on other sites More sharing options...
xboxboy Posted December 5, 2008 Author Report Share Posted December 5, 2008 (edited) [root@localhost AR8121-linux-ver1.0.0.7]# cd src [root@localhost src]# make install make -C /lib/modules/2.6.24.4-desktop586-1mnb/build SUBDIRS=/home/matthew/Download/AR8121-linux-ver1.0.0.7/src modules make[1]: Entering directory `/usr/src/linux-2.6.24.4-desktop586-1mnb' scripts/Makefile.build:46: *** CFLAGS was changed in "/home/matthew/Download/AR8121-linux-ver1.0.0.7/src/Makefile". Fix it to use EXTRA_CFLAGS. Stop. make[1]: *** [_module_/home/matthew/Download/AR8121-linux-ver1.0.0.7/src] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.24.4-desktop586-1mnb' make: *** [default] Error 2 [root@localhost src]# Where do I go from here? Edited December 5, 2008 by xboxboy Quote Link to comment Share on other sites More sharing options...
xboxboy Posted December 5, 2008 Author Report Share Posted December 5, 2008 Im told I need to change CFLAGS to EXTRA_CFLAGS, but what part of makefile do I edit??? ########################################################################### # Copyright(c) 2007 Atheros Corporation. All rights reserved. # Copyright(c) 2006 xiong huang <xiong.huang@atheros.com> # # Derived from Intel e1000 driver # Copyright(c) 1999 - 2005 Intel Corporation. All rights reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 2 of the License, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # more details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 59 # Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # There are a lot of defines in here that are unused and/or have cryptic # names. Please leave them alone, as they're the closest thing we have # to a spec from Atheros at present. *ahem* -- CHS # ########################################################################### # Driver files # core driver files CFILES = at_main.c at_hw.c at_param.c at_ethtool.c kcompat.c HFILES = at.h at_hw.h at_osdep.h kcompat.h ifeq (,$(BUILD_KERNEL)) BUILD_KERNEL=$(shell uname -r) endif ########################################################################### # Environment tests # Kernel Search Path # All the places we look for kernel source KSP := /lib/modules/$(BUILD_KERNEL)/build \ /lib/modules/$(BUILD_KERNEL)/source \ /usr/src/linux-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/-.*//') \ /usr/src/kernel-headers-$(BUILD_KERNEL) \ /usr/src/kernel-source-$(BUILD_KERNEL) \ /usr/src/linux-$($(BUILD_KERNEL) | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \ /usr/src/linux # prune the list down to only values that exist # and have an include/linux sub-directory test_dir = $(shell [ -e $(dir)/include/linux ] && echo $(dir)) KSP := $(foreach dir, $(KSP), $(test_dir)) # we will use this first valid entry in the search path ifeq (,$(KSRC)) KSRC := $(firstword $(KSP)) endif ifeq (,$(KSRC)) $(error Linux kernel source not found) else ifeq (/lib/modules/$(shell uname -r)/source, $(KSRC)) KOBJ := /lib/modules/$(shell uname -r)/build else KOBJ := $(KSRC) endif endif # check for version.h and autoconf.h for running kernel in /boot (SUSE) ifneq (,$(wildcard /boot/vmlinuz.version.h)) VERSION_FILE := /boot/vmlinuz.version.h CONFIG_FILE := /boot/vmlinuz.autoconf.h KVER := $(shell $(CC) $(CFLAGS) -E -dM $(VERSION_FILE) | \ grep UTS_RELEASE | awk '{ print $$3 }' | sed 's/\"//g') ifeq ($(KVER),$(shell uname -r)) # set up include path to override headers from kernel source x:=$(shell rm -rf include) x:=$(shell mkdir -p include/linux) x:=$(shell cp /boot/vmlinuz.version.h include/linux/version.h) x:=$(shell cp /boot/vmlinuz.autoconf.h include/linux/autoconf.h) CFLAGS += -I./include else ifneq (,$(wildcard $(KOBJ)/include/linux/utsrelease.h)) VERSION_FILE := $(KOBJ)/include/linux/utsrelease.h else VERSION_FILE := $(KOBJ)/include/linux/version.h endif CONFIG_FILE := $(KSRC)/include/linux/autoconf.h endif else ifneq (,$(wildcard $(KOBJ)/include/linux/utsrelease.h)) VERSION_FILE := $(KOBJ)/include/linux/utsrelease.h else VERSION_FILE := $(KOBJ)/include/linux/version.h endif CONFIG_FILE := $(KSRC)/include/linux/autoconf.h endif ifeq (,$(wildcard $(VERSION_FILE))) $(error Linux kernel source not configured - missing version.h) endif ifeq (,$(wildcard $(CONFIG_FILE))) $(error Linux kernel source not configured - missing autoconf.h) endif # pick a compiler ifneq (,$(findstring egcs-2.91.66, $(shell cat /proc/version))) CC := kgcc gcc cc else CC := gcc cc endif test_cc = $(shell $(cc) --version > /dev/null 2>&1 && echo $(cc)) CC := $(foreach cc, $(CC), $(test_cc)) CC := $(firstword $(CC)) ifeq (,$(CC)) $(error Compiler not found) endif # we need to know what platform the driver is being built on # some additional features are only built on Intel platforms ARCH := $(shell uname -m | sed 's/i.86/i386/') ifeq ($(ARCH),alpha) CFLAGS += -ffixed-8 -mno-fp-regs endif ifeq ($(ARCH),x86_64) CFLAGS += -mcmodel=kernel -mno-red-zone endif ifeq ($(ARCH),ppc) CFLAGS += -msoft-float endif ifeq ($(ARCH),ppc64) CFLAGS += -m64 -msoft-float LDFLAGS += -melf64ppc endif # standard flags for module builds CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall -DDBG=0 CFLAGS += -I$(KSRC)/include -I. CFLAGS += $(shell [ -f $(KSRC)/include/linux/modversions.h ] && \ echo "-DMODVERSIONS -DEXPORT_SYMTAB \ -include $(KSRC)/include/linux/modversions.h") CFLAGS += $(CFLAGS_EXTRA) RHC := $(KSRC)/include/linux/rhconfig.h ifneq (,$(wildcard $(RHC))) # 7.3 typo in rhconfig.h ifneq (,$(shell $(CC) $(CFLAGS) -E -dM $(RHC) | grep __module__bigmem)) CFLAGS += -D__module_bigmem endif endif # get the kernel version - we use this to find the correct install path KVER := $(shell $(CC) $(CFLAGS) -E -dM $(VERSION_FILE) | grep UTS_RELEASE | \ awk '{ print $$3 }' | sed 's/\"//g') # assume source symlink is the same as build, otherwise adjust KOBJ ifneq (,$(wildcard /lib/modules/$(KVER)/build)) ifneq ($(KSRC),$(shell cd /lib/modules/$(KVER)/build; pwd -P)) KOBJ=/lib/modules/$(KVER)/build endif endif KKVER := $(shell echo $(KVER) | \ awk '{ if ($$0 ~ /2\.[4-9]\./) print "1"; else print "0"}') ifeq ($(KKVER), 0) $(error *** Aborting the build. \ *** This driver is not supported on kernel versions older than 2.4.0) endif # set the install path INSTDIR := /lib/modules/$(KVER)/kernel/drivers/net/atl1e # look for SMP in config.h SMP := $(shell $(CC) $(CFLAGS) -E -dM $(CONFIG_FILE) | \ grep -w CONFIG_SMP | awk '{ print $$3 }') ifneq ($(SMP),1) SMP := 0 endif ifneq ($(SMP),$(shell uname -a | grep SMP > /dev/null 2>&1 && echo 1 || echo 0)) $(warning ***) ifeq ($(SMP),1) $(warning *** Warning: kernel source configuration (SMP)) $(warning *** does not match running kernel (UP)) else $(warning *** Warning: kernel source configuration (UP)) $(warning *** does not match running kernel (SMP)) endif $(warning *** Continuing with build,) $(warning *** resulting driver may not be what you want) $(warning ***) endif ifeq ($(SMP),1) CFLAGS += -D__SMP__ endif ########################################################################### # 2.4.x & 2.6.x Specific rules K_VERSION:=$(shell uname -r | cut -c1-3 | sed 's/2\.[56]/2\.6/') ifeq ($(K_VERSION), 2.6) # Makefile for 2.6.x kernel TARGET = atl1e.ko # man page MANSECTION = 7 MANFILE = $(TARGET:.ko=.$(MANSECTION)) ifneq ($(PATCHLEVEL),) EXTRA_CFLAGS += $(CFLAGS_EXTRA) obj-m += atl1e.o atl1e-objs := $(CFILES:.c=.o) else default: ifeq ($(KOBJ),$(KSRC)) $(MAKE) -C $(KSRC) SUBDIRS=$(shell pwd) modules else $(MAKE) -C $(KSRC) O=$(KOBJ) SUBDIRS=$(shell pwd) modules endif endif else # ifeq ($(K_VERSION),2.6) # Makefile for 2.4.x kernel TARGET = atl1e.o # man page MANSECTION = 7 MANFILE = $(TARGET:.o=.$(MANSECTION)) # Get rid of compile warnings in kernel header files from SuSE ifneq (,$(wildcard /etc/SuSE-release)) CFLAGS += -Wno-sign-compare -fno-strict-aliasing endif # Get rid of compile warnings in kernel header files from fedora ifneq (,$(wildcard /etc/fedora-release)) CFLAGS += -fno-strict-aliasing endif .SILENT: $(TARGET) $(TARGET): $(filter-out $(TARGET), $(CFILES:.c=.o)) $(LD) $(LDFLAGS) -r $^ -o $@ echo; echo echo "**************************************************" echo "** $(TARGET) built for $(KVER)" echo -n "** SMP " if [ "$(SMP)" = "1" ]; \ then echo "Enabled"; else echo "Disabled"; fi echo "**************************************************" echo $(CFILES:.c=.o): $(HFILES) Makefile default: $(MAKE) endif # ifeq ($(K_VERSION),2.6) ifeq (,$(MANDIR)) # find the best place to install the man page MANPATH := $(shell (manpath 2>/dev/null || echo $MANPATH) | sed 's/:/ /g') ifneq (,$(MANPATH)) # test based on inclusion in MANPATH test_dir = $(findstring $(dir), $(MANPATH)) else # no MANPATH, test based on directory existence test_dir = $(shell [ -e $(dir) ] && echo $(dir)) endif # our preferred install path # should /usr/local/man be in here ? MANDIR := /usr/share/man /usr/man MANDIR := $(foreach dir, $(MANDIR), $(test_dir)) MANDIR := $(firstword $(MANDIR)) endif ifeq (,$(MANDIR)) # fallback to /usr/man MANDIR := /usr/man endif # depmod version for rpm builds DEPVER := $(shell /sbin/depmod -V 2>/dev/null | \ awk 'BEGIN {FS="."} NR==1 {print $$2}') ########################################################################### # Build rules $(MANFILE).gz: ../$(MANFILE) gzip -c $< > $@ install: default $(MANFILE).gz # remove all old versions of the driver find $(INSTALL_MOD_PATH)/lib/modules/$(KVER) -name $(TARGET) -exec rm -f {} \; || true find $(INSTALL_MOD_PATH)/lib/modules/$(KVER) -name $(TARGET).gz -exec rm -f {} \; || true install -D -m 644 $(TARGET) $(INSTALL_MOD_PATH)$(INSTDIR)/$(TARGET) ifeq (,$(INSTALL_MOD_PATH)) /sbin/depmod -a || true else ifeq ($(DEPVER),1 ) /sbin/depmod -r $(INSTALL_MOD_PATH) -a || true else /sbin/depmod -b $(INSTALL_MOD_PATH) -a -n $(KVERSION) > /dev/null || true endif endif install -D -m 644 $(MANFILE).gz $(INSTALL_MOD_PATH)$(MANDIR)/man$(MANSECTION)/$(MANFILE).gz man -c -P'cat > /dev/null' $(MANFILE:.$(MANSECTION)=) || true uninstall: if [ -e $(INSTDIR)/$(TARGET) ]; then \ rm -f $(INSTDIR)/$(TARGET); \ fi /sbin/depmod -a if [ -e $(MANDIR)/man$(MANSECTION)/$(MANFILE).gz ]; then \ rm -f $(MANDIR)/man$(MANSECTION)/$(MANFILE).gz; \ fi .PHONY: clean install clean: rm -rf $(TARGET) $(TARGET:.ko=.o) $(TARGET:.ko=.mod.c) $(TARGET:.ko=.mod.o) $(CFILES:.c=.o) $(MANFILE).gz .*cmd .tmp_versions Quote Link to comment Share on other sites More sharing options...
ianw1974 Posted December 5, 2008 Report Share Posted December 5, 2008 I was right :) Yes, you even have the Attansic chipset that I have on my ASUS board! So unless you have a new kernel with the Attansic module in it, you'll have a hard job seeing the card. So it would require building the kernel, but check this link: http://atl1.sourceforge.net/ and see if your model of board fits here - assuming you got an ASUS. Now, if the kernel is 2.6.21 or higher, then the module should already be there. However, I don't know if yours is an L1 or L2. Post an: lspci -vvv so we can see more info on your network card. Also, I don't know why you're trying to compile Atheros drivers for this card - or at least they look like Atheros ones! Your card isn't Atheros, so I doubt that would work. Try: modprobe atl1 and see if you get access to the ethernet card. Then: lsmod | grep atl1 to see if it's loaded and possibly in use. Then check ifconfig to see if the interface exists. Quote Link to comment Share on other sites More sharing options...
xboxboy Posted December 5, 2008 Author Report Share Posted December 5, 2008 Hi Ian. I found these instructions upon the net (Ubuntu forums actually). copied the driver files/folders into /Downloads cd into the src folder ran sudo KBUILD_NOPEDANTIC=1 make ran sudo KBUILD_NOPEDANTIC=1 make install cd to lib//modules......./atl1e then sudo insmod ./atl1e.ko I have no idea what that KBUILD_NOPEDANTIC does, but that method works, as I'm writing this throug 2008.1! YAY Quote Link to comment Share on other sites More sharing options...
ianw1974 Posted December 5, 2008 Report Share Posted December 5, 2008 Cool Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.