Kernel.org: 5.2.1
sid (unstable): 4.19.37-5
buster (testing): 4.19.37-5
stretch (stable): 4.9.168-1+deb9u3
jessie (oldstable): 3.16.68-2

Debian GNU/Linux device driver check & report

Acer: Aspire 1300 (Notebook)

PCI IDWorks?VendorDeviceDriverKernel
11060305YesVIA Technologies, Inc.VT8363/8365 [KT133/KM133]via-agp
11068305YesVIA Technologies, Inc.VT8363/8365 [KT133/KM133 AGP]agpgart
12176972YesO2 Micro, Inc.OZ601/6912/711E0 CardBus/SmartCardBus Controlleryenta_socket
11068231YesVIA Technologies, Inc.VT8231 [PCI-to-ISA Bridge]parport_pc,via-irccv2.6.25-
11060571YesVIA Technologies, Inc.VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDEpata_viav2.6.25-
11063038YesVIA Technologies, Inc.VT82xxxxx UHCI USB 1.1 Controllerusb-uhci,uhci-hcd
11068235YesVIA Technologies, Inc.VT8235 ACPIvt8231,i2c-viaprov2.6.25-
11063058YesVIA Technologies, Inc.VT82C686 AC97 Audio Controllersnd-via82xxv2.6.25-
11063068YesVIA Technologies, Inc.AC'97 Modem Controllersnd-via82xx-modemv2.6.25-
11063065YesVIA Technologies, Inc.VT6102 [Rhine-II]via-rhinev2.6.25-
53338d02YesS3 Inc.VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK)savagefbv2.6.25-

BIOS is broken - a patch for cpufreq is needed with a fixed pst table (Kernel 2.6.x):
--- old/arch/i386/kernel/cpu/cpufreq/powernow-k7.c	2003-07-01 01:08:03.000000000 +0200
+++ new/arch/i386/kernel/cpu/cpufreq/powernow-k7.c	2005-08-10 11:34:13.308589528 +0200
@@ -101,6 +101,7 @@
 static unsigned int fsb;
 static unsigned int latency;
 static char have_a0;
+static unsigned char *fake_pst;
 #define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_DRIVER, "powernow-k7", msg)
 
@@ -165,6 +166,33 @@
 }
 
 
+static void create_pst(void)
+{
+	fake_pst = kmalloc(sizeof(struct pst_s) + (10 * sizeof(unsigned char)), GFP_KERNEL);
+
+	*((u32*)fake_pst)=0x780; /* cpuid */
+	*(fake_pst+ 4) = 133;    /*   fsb */
+	*(fake_pst+ 5) = 1;      /*  mfid */
+	*(fake_pst+ 6) = 23;     /*  svid */
+	*(fake_pst+ 7) = 5;      /* numsc */
+
+	*(fake_pst+ 8) = 4;   /*  666 MHz */
+	*(fake_pst+ 9) = 23;  /*  1.100 V */
+
+	*(fake_pst+10) = 6;   /*  800 MHz */
+	*(fake_pst+11) = 21;  /*  1.150 V */
+
+	*(fake_pst+12) = 8;   /*  933 MHz */
+	*(fake_pst+13) = 19;  /*  1.200 V */
+
+	*(fake_pst+14) = 13;  /* 1266 MHz */
+	*(fake_pst+15) = 14;  /*  1.300 V */
+
+	*(fake_pst+16) = 1;   /* 1533 MHz */
+	*(fake_pst+17) = 10;  /*  1.500 V */
+}
+
+
 static int get_ranges (unsigned char *pst)
 {
 	unsigned int j;
@@ -423,6 +451,8 @@
 	unsigned int etuple;
 	unsigned int ret;
 
+	create_pst();
+
 	etuple = cpuid_eax(0x80000001);
 
 	for (i=0xC0000; i < 0xffff0 ; i+=16) {
@@ -459,8 +489,9 @@
 			pst = (struct pst_s *) p;
 
 			for (i = 0 ; i <psb->numpst; i++) {
-				pst = (struct pst_s *) p;
+				pst = (struct pst_s *) fake_pst;
 				number_scales = pst->numpstates;
+				startvid=pst->startvid;
 
 				if ((etuple == pst->cpuid) && check_fsb(pst->fsbspeed) &&
 				    (maxfid==pst->maxfid) && (startvid==pst->startvid))
@@ -551,7 +582,10 @@
 	return (fsb * fid_codes[cfid] / 10);
 }
 
-
+/* --------------------------------------------------------------
+ *  removed because we have patched the driver with an old patch
+ *  which applies a facked pst table
+ *  
 static int __init acer_cpufreq_pst(struct dmi_system_id *d)
 {
 	printk(KERN_WARNING "%s laptop with broken PST tables in BIOS detected.\n", d->ident);
@@ -559,12 +593,17 @@
 	printk(KERN_WARNING "cpufreq scaling has been disabled as a result of this.\n");
 	return 0;
 }
+*/
 
 /*
  * Some Athlon laptops have really fucked PST tables.
  * A BIOS update is all that can save them.
  * Mention this, and disable cpufreq.
  */
+/* --------------------------------------------------------------
+ *  removed because we have patched the driver with an old patch
+ *  which applies a facked pst table
+ *  
 static struct dmi_system_id __initdata powernow_dmi_table[] = {
 	{
 		.callback = acer_cpufreq_pst,
@@ -576,6 +615,7 @@
 	},
 	{ }
 };
+*/
 
 static int __init powernow_cpu_init (struct cpufreq_policy *policy)
 {
@@ -599,10 +639,16 @@
 	}
 	dprintk("FSB: %3dMHz\n", fsb/1000);
 
+        /* --------------------------------------------------------------
+         *  removed because we have patched the driver with an old patch
+         *  which applies a facked pst table
+         *  
 	if (dmi_check_system(powernow_dmi_table) || acpi_force) {
 		printk (KERN_INFO PFX "PSB/PST known to be broken.  Trying ACPI instead\n");
 		result = powernow_acpi_init();
 	} else {
+	*/
+	if (1) {
 		result = powernow_decode_bios(fidvidstatus.bits.MFID, fidvidstatus.bits.SVID);
 		if (result) {
 			printk (KERN_INFO PFX "Trying ACPI perflib\n");
@@ -681,6 +727,8 @@
 static void __exit powernow_exit (void)
 {
 	cpufreq_unregister_driver(&powernow_driver);
+        if (fake_pst)
+		kfree(fake_pst);
 }
 
 module_param(acpi_force,  int, 0444);