]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Weitere Ă„nderungen am Installer/Setup vorgenommen.
authorcasemaster <casemaster@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 22 May 2007 19:51:25 +0000 (19:51 +0000)
committercasemaster <casemaster@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 22 May 2007 19:51:25 +0000 (19:51 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@576 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

src/install+setup/install/main.c
src/install+setup/install/probenic.sh
src/install+setup/libsmooth/libsmooth.h
src/install+setup/libsmooth/netstuff.c
src/install+setup/setup/main.c
src/install+setup/setup/networking.c

index 5586689f2eb3c600cc59ac745b312af9b0eb2e3c..5193d8f0ca05d21ae5ca9a760da09e2c5c40887d 100644 (file)
@@ -4,7 +4,7 @@
  * Licence.  See the file COPYING for details.
  *
  * (c) Lawrence Manning, 2001
- * Contains main entry point, and misc functions.
+ * Contains main entry point, and misc functions.6
  * 
  */
 
@@ -25,8 +25,8 @@ char **ctr;
 
 extern char url[STRING_SIZE];
 
-struct  nic  nics[20] = { { "" , "" } }; // only defined for compile
-struct knic knics[20] = { { "" , "" , "" } }; // only defined for compile
+struct  nic  nics[20] = { { "" , "" , "" } }; // only defined for compile
+struct knic knics[20] = { { "" , "" , "" , "" } }; // only defined for compile
 
 extern char *en_tr[];
 extern char *de_tr[];
index 38ad71c7b1aeb32c723a41cd8c608a95f0f33834..13e703360ae54afd90fdcc6768f7bed1f53919f9 100644 (file)
@@ -2,14 +2,14 @@
 
 case "$1" in
        install)
-               kudzu -qps -c NETWORK | egrep "desc|network.hwaddr" | \
+               kudzu -qps -c NETWORK | egrep "desc|network.hwaddr|driver" | \
                                awk -F": " '{ print $2";" }' | sed -e '/..:..:..:..:..:..;/a\X' | \
                                tr "\n" "X" | sed -e 's/XXX/\n/g' -e 's/;X/;/g' | \
                                sort > /tmp/scanned_nics 2>/dev/null
                        ;;
        "")
                if [ ! -e /var/ipfire/ethernet/scan_lock ]; then
-                       kudzu -qps -c NETWORK | egrep "desc|network.hwaddr" | \
+                       kudzu -qps -c NETWORK | egrep "desc|network.hwaddr|driver" | \
                                awk -F": " '{ print $2";" }' | sed -e '/..:..:..:..:..:..;/a\X' | \
                                tr "\n" "X" | sed -e "s/XXX/\n/g" -e 's/;X/;/g' | \
                                sort > /var/ipfire/ethernet/scanned_nics 2>/dev/null
index d990de971cbcfb47fd3d1ad2f88f9c0ca1bad4a1..f32915cec80b4c182e88fb04a3bee6a62786a29d 100644 (file)
@@ -59,12 +59,14 @@ struct keyvalue
 };
 struct nic
 {
+       char driver[80];
        char description[256];
        char macaddr[20];
 };
 
 struct knic
 {
+       char driver[80];
        char description[256];
        char macaddr[20];
        char colour[20];
index cfed018b5798791882a193aaa1c67bfeebc1bf4e..ad0141a37cfa0028cc4c5cf416a94a08a4595030 100644 (file)
@@ -330,7 +330,7 @@ int interfacecheck(struct keyvalue *kv, char *colour)
 }
 
 /* Funky routine for loading all drivers (cept those are already loaded.). */
-int probecards(char *driver, char *driveroptions)
+int probecards(char *driver, char *driveroptions )
 {
        return 0;
 }
@@ -354,7 +354,7 @@ void strupper(unsigned char *string)
 }
 */
 
-int write_configs_netudev(char *description, char *macaddr, int colour)
+int write_configs_netudev(int card , int colour)
 {      
        #define UDEV_NET_CONF "/etc/udev/rules.d/30-persistent-network.rules"
        FILE *fp;
@@ -367,8 +367,9 @@ int write_configs_netudev(char *description, char *macaddr, int colour)
 //     strupper(ucolour);
 
        sprintf(ucolour, ucolourcard[colour]);
-       strcpy(knics[colour].description, description);
-       strcpy(knics[colour].macaddr, macaddr);
+       strcpy(knics[colour].driver, nics[card].driver);
+       strcpy(knics[colour].description, nics[card].description);
+       strcpy(knics[colour].macaddr, nics[card].macaddr);
        
        if (!(readkeyvalues(kv, CONFIG_ROOT "/ethernet/settings")))
        {
@@ -381,9 +382,11 @@ int write_configs_netudev(char *description, char *macaddr, int colour)
        sprintf(temp2, "%s_MACADDR", ucolour);
        sprintf(temp3, "%s0", lcolourcard[colour]);
        replacekeyvalue(kv, temp1, temp3);
-       replacekeyvalue(kv, temp2, macaddr);
+       replacekeyvalue(kv, temp2, nics[card].macaddr);
        sprintf(temp1, "%s_DESCRIPTION", ucolour);
-       replacekeyvalue(kv, temp1, description);
+       replacekeyvalue(kv, temp1, nics[card].description);
+       sprintf(temp1, "%s_DRIVER", ucolour);
+       replacekeyvalue(kv, temp1, nics[card].driver);
 
        writekeyvalues(kv, CONFIG_ROOT "/ethernet/settings");
        freekeyvalues(kv);
@@ -403,7 +406,7 @@ int write_configs_netudev(char *description, char *macaddr, int colour)
                fprintf(stderr,"Couldn't open" UDEV_NET_CONF);
                return 1;
        }
-       fprintf(fp,"ACTION==\"add\", SUBSYSTEM==\"net\", SYSFS{address}==\"%s\", NAME=\"%s0\" # %s\n", macaddr, lcolourcard[colour], description);
+       fprintf(fp,"ACTION==\"add\", SUBSYSTEM==\"net\", SYSFS{address}==\"%s\", NAME=\"%s0\" # %s\n", nics[card].macaddr, lcolourcard[colour], nics[card].description);
        fclose(fp);     
        
        return 0;
@@ -412,7 +415,7 @@ int write_configs_netudev(char *description, char *macaddr, int colour)
 int scan_network_cards(void)
 {
        FILE *fp;
-       char description[STRING_SIZE], macaddr[STRING_SIZE], temp_line[STRING_SIZE];
+       char driver[STRING_SIZE], description[STRING_SIZE], macaddr[STRING_SIZE], temp_line[STRING_SIZE];
        int count = 0;
        
        if (!(scanned_nics_read_done))
@@ -427,11 +430,13 @@ int scan_network_cards(void)
                }
                while (fgets(temp_line, STRING_SIZE, fp) != NULL)
                {
-                       strcpy(description, strtok(temp_line,";"));
+                       strcpy(driver,      strtok(temp_line,";"));
+                       strcpy(description, strtok(NULL,";"));
                        strcpy(macaddr,     strtok(NULL,";"));
                        if ( strlen(macaddr) ) {
+                               strcpy(nics[count].driver      , driver );
                                strcpy(nics[count].description , description );
-                               strcpy(nics[count].macaddr , macaddr );
+                               strcpy(nics[count].macaddr     , macaddr );
                                count++;
                        }
                }
@@ -506,7 +511,7 @@ int nicmenu(int colour)
                rc = newtWinMenu("(TR) NetcardMenu2", message, 50, 5, 5, 6, pMenuInhalt, &choise, ctr[TR_OK], ctr[TR_SELECT], ctr[TR_CANCEL], NULL);
                                
                if ( rc == 0 || rc == 1) {
-                       write_configs_netudev(nics[choise].description, nics[found_NIC_as_Card[choise]].macaddr, colour);
+                       write_configs_netudev(found_NIC_as_Card[choise], colour);
                } else if (rc == 2) {
 //                     manualdriver("pcnet32","");
                }
@@ -530,9 +535,12 @@ int clear_card_entry(int card)
                return 0;
        }
 
+       strcpy(knics[card].driver, "");
        strcpy(knics[card].description, ctr[TR_UNSET]);
        strcpy(knics[card].macaddr, "");
        strcpy(knics[card].colour, "");
+       sprintf(temp, "%s_DRIVER", ucolourcard[card]);
+       replacekeyvalue(kv, temp, "");
        sprintf(temp, "%s_DEV", ucolourcard[card]);
        replacekeyvalue(kv, temp, "");
        sprintf(temp, "%s_MACADDR", ucolourcard[card]);
index 1000a9474e2a82626f88db4dc110d07d2d5e8cfc..3bd5bf5b1245dc8a16802348143328c9bd1fea2e 100644 (file)
@@ -21,8 +21,8 @@ char **ctr = NULL;
 
 int automode = 0;
 
-struct  nic  nics[20] = { { "" , "" } };
-struct knic knics[20] = { { "" , "" , "" } };
+struct  nic  nics[20] = { { "" , "" , "" } };
+struct knic knics[20] = { { "" , "" , "" , "" } };
 
 extern char *en_tr[];
 extern char *de_tr[];
index 9bb9fd649fb6cc12a17dc59c3a09493ebb38246b..c7ff66908bbe49c40e7adedd5651439af1346647 100644 (file)
@@ -348,6 +348,8 @@ int drivermenu(void)
                        strcpy(knics[_GREEN_CARD_].colour, "GREEN");
                        findkey(kv, "GREEN_DESCRIPTION", temp);
                        strcpy(knics[_GREEN_CARD_].description, temp);
+                       findkey(kv, "GREEN_DRIVER", temp);
+                       strcpy(knics[_GREEN_CARD_].driver, temp);
                        kcount++;
                } else {
                        strcpy(knics[_GREEN_CARD_].description, ctr[TR_UNSET]);
@@ -367,6 +369,8 @@ int drivermenu(void)
                        strcpy(knics[_RED_CARD_].colour, "RED");
                        findkey(kv, "RED_DESCRIPTION", temp);
                        strcpy(knics[_RED_CARD_].description, temp);
+                       findkey(kv, "RED_DRIVER", temp);
+                       strcpy(knics[_RED_CARD_].driver, temp);
                        kcount++;
                } else {
                        strcpy(knics[_RED_CARD_].description, ctr[TR_UNSET]);
@@ -386,6 +390,8 @@ int drivermenu(void)
                        strcpy(knics[_ORANGE_CARD_].colour, "ORANGE");
                        findkey(kv, "ORANGE_DESCRIPTION", temp );
                        strcpy(knics[_ORANGE_CARD_].description, temp );
+                       findkey(kv, "ORANGE_DRIVER", temp);
+                       strcpy(knics[_ORANGE_CARD_].driver, temp);
                        kcount++;
                } else {
                        strcpy(knics[_ORANGE_CARD_].description, ctr[TR_UNSET]);
@@ -405,6 +411,8 @@ int drivermenu(void)
                        strcpy(knics[_BLUE_CARD_].colour, "BLUE");
                        findkey(kv, "BLUE_DESCRIPTION", temp );
                        strcpy(knics[_BLUE_CARD_].description, temp);
+                       findkey(kv, "BLUE_DRIVER", temp);
+                       strcpy(knics[_BLUE_CARD_].driver, temp);
                        kcount++;
                } else {
                        strcpy(knics[_BLUE_CARD_].description, ctr[TR_UNSET]);