Add Davicom DM9601 (2nd try, now working)

This commit is contained in:
Arne Fitzenreiter
2008-04-04 18:14:38 +02:00
parent bfb59786a5
commit 231d385e1d
3 changed files with 171 additions and 0 deletions

92
lfs/dm9601 Normal file
View File

@@ -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 <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# 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)

View File

@@ -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

View File

@@ -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