}
/* 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;
}
}
*/
-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;
// 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")))
{
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);
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;
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))
}
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++;
}
}
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","");
}
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]);
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]);
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]);
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]);
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]);