From 231d385e1d2762ef9946dce90cd69c18357b8618 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Fri, 4 Apr 2008 18:14:38 +0200 Subject: [PATCH] Add Davicom DM9601 (2nd try, now working) --- lfs/dm9601 | 92 +++++++++++++++++++++++++++++++ make.sh | 2 + src/patches/dm9601-make+ids.patch | 77 ++++++++++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 lfs/dm9601 create mode 100644 src/patches/dm9601-make+ids.patch diff --git a/lfs/dm9601 b/lfs/dm9601 new file mode 100644 index 0000000000..1af9a2f191 --- /dev/null +++ b/lfs/dm9601 @@ -0,0 +1,92 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# 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 3 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, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 2.6 + +THISAPP = dm9601-$(VER) +DL_FILE = $(THISAPP).tgz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +ifeq "$(SMP)" "1" + TARGET = $(DIR_INFO)/$(THISAPP)-smp +else + TARGET = $(DIR_INFO)/$(THISAPP) +endif + + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = e041c02477d8e19d79ae07d168ab3f73 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + $(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dm9601-make+ids.patch +ifeq "$(SMP)" "1" + cd $(DIR_APP) && make clean + cd $(DIR_APP) && make -C /lib/modules/$(KVER)-ipfire-smp/build/ SUBDIRS=$(DIR_APP) modules + cd $(DIR_APP) && install -m 644 dm9601.ko /lib/modules/$(KVER)-ipfire-smp/kernel/drivers/usb/net +else + cd $(DIR_APP) && make clean + cd $(DIR_APP) && make -C /lib/modules/$(KVER)-ipfire/build/ SUBDIRS=$(DIR_APP) modules + cd $(DIR_APP) && install -m 644 dm9601.ko /lib/modules/$(KVER)-ipfire/kernel/drivers/usb/net +endif + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 052c7f8071..821e36e85e 100755 --- a/make.sh +++ b/make.sh @@ -328,6 +328,7 @@ buildipfire() { ipfiremake r8168 SMP=1 ipfiremake mcs7830 SMP=1 ipfiremake atl1 SMP=1 + ipfiremake dm9601 SMP=1 ipfiremake kqemu SMP=1 ipfiremake sane KMOD=1 SMP=1 ipfiremake linux @@ -337,6 +338,7 @@ buildipfire() { ipfiremake r8168 ipfiremake mcs7830 ipfiremake atl1 + ipfiremake dm9601 ipfiremake kqemu ipfiremake sane KMOD=1 ipfiremake pkg-config diff --git a/src/patches/dm9601-make+ids.patch b/src/patches/dm9601-make+ids.patch new file mode 100644 index 0000000000..9d27d6dcc3 --- /dev/null +++ b/src/patches/dm9601-make+ids.patch @@ -0,0 +1,77 @@ +diff -Naur dm9601-2.6.org/dm9601.h dm9601-2.6/dm9601.h +--- dm9601-2.6.org/dm9601.h 2006-11-24 10:06:02.000000000 +0100 ++++ dm9601-2.6/dm9601.h 2008-04-04 09:54:06.000000000 +0200 +@@ -162,6 +162,8 @@ + DEFAULT_GPIO_RESET ) + DM9601_DEV( "Davicom USB-100", 0x3334, 0x1701, + DEFAULT_GPIO_RESET ) ++DM9601_DEV( "ShanTou ST268 USB", 0x0a46, 0x0268, ++ DEFAULT_GPIO_RESET ) + DM9601_DEV( "Billionton USB-100", VENDOR_BILLIONTON, 0x0986, + DEFAULT_GPIO_RESET ) + DM9601_DEV( "Billionton USBLP-100", VENDOR_BILLIONTON, 0x0987, +diff -Naur dm9601-2.6.org/Makefile dm9601-2.6/Makefile +--- dm9601-2.6.org/Makefile 2006-11-24 10:06:04.000000000 +0100 ++++ dm9601-2.6/Makefile 2008-04-03 22:34:04.000000000 +0200 +@@ -1,51 +1,17 @@ +-##================================================================ +-## Davicom Semiconductor Inc. For DM9601 V0.00 +-## -------------------------------------------------------- +-## Description: +-## Compile driver dm9601.c to dm9601.o +-## +-## Modification List: +-## 09/05/2000 Fixed SMPFALGS wrong on smp & smp_mod +-## 08/02/2000 Changed some description string & include file path +-## 07/25/2000 Append smp_mod and changed some descriptions +-## 01/25/2000 by Sten Wang +-##================================================================ +-# Comment/uncomment the following line to disable/enable debugging +-#DEBUG = y ++obj-m := dm9601.o + +-# Add your debugging flag (or not) to CFLAGS +-ifeq ($(DEBUG),y) +- DEBFLAGS = -O -g # "-O" is needed to expand inlines +-else +- DEBFLAGS = -O2 +-endif +- +-CFLAGS += $(DEBFLAGS) -I$(LDDINCDIR) +- +-ifneq ($(KERNELRELEASE),) +-# call from kernel build system +- +-obj-m := dm9601.o +- +-else +- +-KERNELDIR ?= /lib/modules/$(shell uname -r)/build +-PWD := $(shell pwd) ++KDIR := /lib/modules/$(shell uname -r)/build ++PWD := $(shell pwd) + + default: +- $(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINCDIR=$(PWD)/../include modules +- +-endif +- +- ++ $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules; ++install: ++ insmod dm9601.ko ++remove: ++ rmmod dm9601 + + clean: +- rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions +- +-depend .depend dep: +- $(CC) $(CFLAGS) -M *.c > .depend ++ rm -rf .tmp_versions Modules.symvers *.mod.c *.o *.ko .*.cmd + ++ + +-ifeq (.depend,$(wildcard .depend)) +-include .depend +-endif -- 2.39.2