altes wiki durchsortiert zum veröffentlichen

This commit is contained in:
amanita 2017-06-15 13:20:32 +02:00
commit 57b6e0e2d3
92 changed files with 4949 additions and 0 deletions

View file

@ -0,0 +1,50 @@
## Erstmal Generell
Die APC-CS500 ist eine USV, sie dient also dazu, bei Stromausfällen die angeschlossenen Geräte mit Strom zu versorgen.
In der Regel ist ein einzelner Bleigelakku eingabaut, es lassen sich aber (mit passenden Kabeln) beliebige Bleibatterien anschließen.
## Data-Port / Das Interface
Die USV lässt sich über den Anschluss Data-Port an einen PC anzuschließen, damit dieser den Zustand der Stromversorgung kennt. Der Port ist entgegen meines ersten Eindrucks keine Normale Ethernet-Buchse (RJ-45), sondern hat 10 Pins (RJ-50). Mit einem passenden Kabel lässt sich dieser dann mit einem USB-Anschluss verbinden. Die Kabel haben lustige Preise.
Ein Ethernet-Stecker passt aber trotzdem in die Buchse. Nur fehlen dann die beiden äußeren Pins. Solange APC keinen der äußeren Pins für USB verwendet, ist das also alles gar kein Problem. Machen sie aber (die Schweine).
### Das Pinout des Kabel:
AP9827 cable for CS500
```
RJxx end (looking AGAINST the connector):
------
| -- 1 - green - USB 3 - USB+
| -- 2 - white - USB 2 - USB-
| -- 3
_| -- 4 - black - usb 4 - GND
| | -- 5
|_| -- 6
| -- 7 - brown - shield
| -- 8
| -- 9
| -- 10 - red - usb 1 - +5V
------
USB end (looking against the connector):
-----
| | |
| X| | 1 - red - +5V
| | |
| X| | 2 - white - USB-
| | |
| X| | 3 - green - USB+
| | |
| X| | 4 - black - GND
| | |
----- shield - brown - SHIELD
```
### Die Lösung
Deshalb habe ich auf der Platine der USV Pin 10 mit Pin 6 und Pin 1 mit Pin 5 verbunden. (Die Beiden Pins sind tatsächlich ungenutzt)
Nun lässt sich ein einfacher Ethernetstecker an ein USB-Kabel patchen und die USV mit dem PC verbinden.
[[/uploads/apc-cs500_umbau.JPG|alt="Die Brücken auf der Platine"]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View file

@ -0,0 +1,3 @@
## Wie benutze ich den Ordner Hardware-Info?
Hier erhält jeder Gerätetyp, der zu unserem Netz gehört einen kleinen Eintrag, in dem generelle Informationen zur Hardware gesammelt sind.
Aus den Dokueinträgen der einzelnen Geräte kann dann darauf gelinked werden.

View file

@ -0,0 +1,20 @@
## Den Switch konfigurieren
Der Switch hat eine etwas seltsame Art sich konfigurieren zu lassen. Insbesondere die VLANs sind merkwürdig.
## Vlans
vlans verwendet man, wenn man eine physikalische verbindung hat, die man aber logisch lieber so behandeln würde, als ob 2 seperate kabel/funkstrecken existieren würden.
vlans funktionieren, indem in den IP-header eine zahl von 1-4094 geschrieben wird (tag).
standardmäßig steht da 1.
## 802.1Q VLAN
### VLAN Config
Hier kann man einstellen welche vlans es überhaupt gibt.
zum ein neues vlan anlegen auf "create" klicken. jetzt die ports auswählen, an die das vlan angeschlossen werden kann. ein port kann auch zu meheren vlans gehören. Port bezeichnet hier die physikalische lan-reinsteck-möglichkeit. an port 1 hängt meist der server.
zu link type siehe port config.
die egres rule bestimmt, ob an ungetagte pakete einer angehängt werden soll, wenn sie über dieses interface aus dem switch herrausgehen. (wahrscheinlich, further research needed)
### Port Config
Link type: es gibt im endefekt 2 möglichkeiten, access und (general|trunk).
access ist für geräte, die nicht speziell vlans können, oder denen nicht wirklich vertraut werden kann die richtigen tags zu setzen. sie können nur zu einem einzigen vlan gehören, und der tag wird entfernt, wenn ein paket über das interface raus geht, und auf das vlan, zu dem der port gehört gesetzt, wenn über das interface ein paket reinkommt.
general kann zu mehreren vlans gehören. man kann (bei der vlan config) einstellen ob ungetagte pakete getagt oder einfach so durchgeleitet werden sollen. wenn man es auf TAG stellt werden ungetagte pakete auf die pvid gestell.
trunk ist wie general, nur dass immer tag eingestellt ist.
alle angaben ohne gewähr, die switch-doku ist sehr unverständlich, diese information wurde durch experimente angenähert.

View file

@ -0,0 +1,2 @@
### IP-Tables
bei den einstellungen der Firewall-rules ist uns aufgefallen, das von vorneherein eine management rule MNGT existiert, die alle Verbindungen wegschmeisst, die nicht von dem Gerät initiert wurden.

View file

@ -0,0 +1,127 @@
## Server-Sensorik
Da der Server in einem feuchten Keller steht, gegen den wir ihn mit userem Spezialgehäuse schützen (Kühlschrank), ist eine Überwachung der Umwelteinflüsse wünschenswert.
Konkret möchten wir gerne Luftfeuchte und Temperatur im Auge behalten.
### Hardware
Die Temperatur lässt sich auch aus den Sensoren im Mainboard ablesen. Zusätzlich ist ein Pro Micro mit zwei DHT22 Sensoren und einem Auslenkungssensor verbunden.
Der DHT22 liefert Werte für Temperatur und Luftfeuchte. Einer ist im Kühlschrank und einer außen am Kühlschrank befestigt. Der Auslenkungssensor protokolliert die Türöffnung.
Für den Sensor sind angegeben
Messbereich: -40 - 80 °C, 0 - 100% RH
Genauigkeit: 0.5°C, 2% RH
### Sofware
#### Pro Micro
Auf dem Pro Micro läuft ein Arduino-Sketch[1]
Dieser liefert CSV-Werte:
```
86.10, 23.10, 14.20, 34.20, 0
86.00, 23.10, 14.10, 34.20, 0
86.10, 23.10, 14.20, 34.20, 0
86.20, 23.00, 14.20, 34.20, 0
```
#### Collectd und Facette
Damit die Werte in unseren schönen Facette-Graphen auftauchen, müssen wir zuerst collectd beibringen die Werte überhaupt zu sammeln.
Dazu lässt sich entweder das Plugin "Exec" verwenden, das ein Skipt ausführt und die Rückgabewerte protokolliert oder das Plugin "tail_CSV", welches
CSV Dateien einliest, sofern es aus einer seriellen Schnittstelle lesen kann.
### Dateien
[1] Das verwendete Arduino Programm:
```
// Based on "Example testing sketch for various DHT humidity/temperature sensors"
// from ladyada, public domain
//
#include "DHT.h"
#define DHTPIN1 21 // what digital pin we're connected to
#define DHTPIN2 20
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors. This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);
int door=0;
int swtch=0;
int count=0;
void setup() {
Serial.begin(9600);
Serial.println("Humidity inside, humidity outside, temperature inside, temperature outside, door switch");
dht1.begin();
dht2.begin();
pinMode(19,INPUT_PULLUP);
}
void loop() {
swtch= digitalRead(19);
if (door != swtch || count > 100 ){
count=0;
door=swtch;
// Wait a few seconds between measurements.
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
// So keep in mind, that (maximum counts) * (delay) = (time between readouts)
delay(20);
float hin_raw = dht1.readHumidity();
float hout_raw = dht2.readHumidity();
// Read temperature as Celsius (the default)
float tin_raw = dht1.readTemperature();
float tout_raw = dht2.readTemperature();
// the DHT22 has an statistical error of 2% for humidity and 0.5°C for temperatur.
// so lets add some offset depending on our sensors, to get to comparable values
float hin = hin_raw + 3.6;
float tin = tin_raw - 0.3 ;
float hout = hout_raw ;//- 0.026;
float tout = tout_raw + 0;
// Check if any reads failed and exit early (to try again).
if (isnan(hin) || isnan(tin) || isnan(hout) || isnan(tout)) {
Serial.print("Failed to read from DHT sensor!");
Serial.print(", \t");
Serial.println(door);
return;
}
// print the values if everything works fine
Serial.print(hin);
Serial.print(", \t");
Serial.print(hout);
Serial.print(", \t");
Serial.print(tin);
Serial.print(", \t");
Serial.print(tout);
Serial.print(", \t");
Serial.println(door);
}
else{
delay(20);
count++;
}
}
```

View file

@ -0,0 +1,199 @@
## Hardware-Bug
Anscheinend haben alle Geräte der Revision XW von Ubiquiti einen Hardwarebug im Ethernetchip. Das betrifft sowohl die Nanobeam M5, als auch die Nanostation LOCO M5.
Die Nanostation M5 ist nicht betroffen, da in ihr ein Ethernetswitch verbaut ist.
Ursprünglich dachte ich der Hardwarebug wäre nur dann ein Problem, wenn wir die Geräte mit OpenWRT bespielen, da eben noch kein adaquater Workaround in OpenWRT existiert.
Mittlerweile weiß ich aber, das auch mit der orginal Firmware (AirOS) von Ubiquiti der Bug ein Problem darstellt. Sie lösen das Promblem mit einem sehr schnellen Neustart des PHY.
Aber auch hier verliert die Antenne kurz ihre Ethernetverbindung. Wirkich akzeptabel ist das nicht.
[1] https://dev.openwrt.org/ticket/19085
[2] https://community.ubnt.com/t5/Installation-Troubleshooting/Nanostation-XW-Ethernet-issue/m-p/1164752#U1164752
## Flashing with OpenWRT
It is possible to upload the image via AirOS. But after i did that, i was unable to connect with the device.
I needed to open the glued case (a hammer did the trick) and connect through the serial console.
After changing __/etc/config/network__ from
```
config interface 'lan'
option ifname 'eth0.1'
```
to
```
config interface 'lan'
option ifname 'eth0'
```
everything seems to work fine.
## Images
[[/uploads/nanobeam/open-front.JPG]]
[[/uploads/nanobeam/open-back.JPG]]
[[/uploads/nanobeam/pcb.JPG]]
## Bootlog OpenWRT
```
U-Boot 1.1.4-s776 (Nov 27 2013 - 15:58:45)
Board: Ubiquiti Networks AR9342 board (e815-86041.1122.0030)
Reset: Normal
DRAM: 64 MB
Flash: 8 MB (0xc2, 0x20, 0x17)
Net: AR8032 Detected
eth0, eth1
Radio: 0777:e815
Hit any key to stop autoboot: 0
## Booting image at 9f050000 ...
Image Name: MIPS OpenWrt Linux-3.10.49
Created: 2014-10-02 7:10:38 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1107081 Bytes = 1.1 MB
Load Address: 80060000
Entry Point: 80060000
Verifying Checksum at 0x9f050040 ...OK
Uncompressing Kernel Image ... OK
Starting kernel ...
[ 0.000000] Linux version 3.10.49 (bb@builder1) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r42625) ) #3 Wed Oct 1 14:00:51 CEST 2014
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU revision is: 0001974c (MIPS 74Kc)
[ 0.000000] SoC: Atheros AR9342 rev 2
[ 0.000000] Clocks: CPU:535.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:40.000MHz
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 04000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x00000000-0x03ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000-0x03ffffff]
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: board=UBNT-NM-XW console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7552k(firmware),256k(cfg)ro,64k(EEPROM)ro rootfstype=squashfs,jffs2 noinitrd
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Memory: 61076k/65536k available (2369k kernel code, 4460k reserved, 621k data, 272k init, 0k highmem)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:51
[ 0.000000] Calibrating delay loop... 266.64 BogoMIPS (lpj=1333248)
[ 0.080000] pid_max: default: 32768 minimum: 301
[ 0.080000] Mount-cache hash table entries: 512
[ 0.090000] NET: Registered protocol family 16
[ 0.100000] MIPS: machine is Ubiquiti Nanostation M XW
[ 0.310000] bio: create slab <bio-0> at 0
[ 0.320000] Switching to clocksource MIPS
[ 0.330000] NET: Registered protocol family 2
[ 0.330000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.330000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.340000] TCP: Hash tables configured (established 512 bind 512)
[ 0.340000] TCP: reno registered
[ 0.350000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.350000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.360000] NET: Registered protocol family 1
[ 0.380000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.390000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.400000] msgmni has been set to 119
[ 0.400000] io scheduler noop registered
[ 0.400000] io scheduler deadline registered (default)
[ 0.410000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[ 0.440000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[ 0.450000] console [ttyS0] enabled, bootconsole disabled
[ 0.450000] console [ttyS0] enabled, bootconsole disabled
[ 0.460000] ath79-spi ath79-spi: master is unqueued, this is deprecated
[ 0.470000] m25p80 spi0.0: found mx25l6405d, expected m25p80
[ 0.480000] m25p80 spi0.0: mx25l6405d (8192 Kbytes)
[ 0.480000] 5 cmdlinepart partitions found on MTD device spi0.0
[ 0.490000] Creating 5 MTD partitions on "spi0.0":
[ 0.490000] 0x000000000000-0x000000040000 : "u-boot"
[ 0.500000] 0x000000040000-0x000000050000 : "u-boot-env"
[ 0.510000] 0x000000050000-0x0000007b0000 : "firmware"
[ 0.520000] 2 uimage-fw partitions found on MTD device firmware
[ 0.530000] 0x000000050000-0x00000015e4c9 : "kernel"
[ 0.530000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.550000] 0x00000015e4c9-0x0000007b0000 : "rootfs"
[ 0.550000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.570000] mtd: device 4 (rootfs) set to be root filesystem
[ 0.570000] 1 squashfs-split partitions found on MTD device rootfs
[ 0.580000] 0x000000380000-0x0000007b0000 : "rootfs_data"
[ 0.590000] 0x0000007b0000-0x0000007f0000 : "cfg"
[ 0.590000] 0x0000007f0000-0x000000800000 : "EEPROM"
[ 0.610000] libphy: ag71xx_mdio: probed
[ 1.160000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:01 [uid=004dd023, driver=Generic PHY]
[ 1.170000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
[ 1.180000] TCP: cubic registered
[ 1.180000] NET: Registered protocol family 17
[ 1.190000] Bridge firewalling registered
[ 1.190000] 8021q: 802.1Q VLAN Support v1.8
[ 1.200000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[ 1.210000] Freeing unused kernel memory: 272K (8034c000 - 80390000)
procd: Console is alive
procd: - watchdog -
[ 3.590000] usbcore: registered new interface driver usbfs
[ 3.590000] usbcore: registered new interface driver hub
[ 3.600000] usbcore: registered new device driver usb
[ 3.610000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 3.620000] ehci-platform: EHCI generic platform driver
[ 3.630000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
procd: - preinit -
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[ 6.170000] eth0: link up (100Mbps/Full duplex)
jffs2 is ready
jffs2 is ready
[ 7.260000] jffs2: notice: (310) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 16 of xref (0 dead, 2 orphan) found.
switching to overlay
[ 7.300000] eth0: link down
procd: - early -
procd: - watchdog -
procd: - ubus -
procd: - init -
Please press Enter to activate this console.
[ 8.740000] NET: Registered protocol family 10
[ 8.750000] nf_conntrack version 0.5.0 (958 buckets, 3832 max)
[ 8.760000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 8.780000] Loading modules backported from Linux version master-2014-05-22-0-gf2032ea
[ 8.790000] Backport generated by backports.git backports-20140320-37-g5c33da0
[ 8.800000] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 8.840000] xt_time: kernel timezone is -0000
[ 8.870000] cfg80211: Calling CRDA to update world regulatory domain
[ 8.870000] cfg80211: World regulatory domain updated:
[ 8.880000] cfg80211: DFS Master region: unset
[ 8.880000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[ 8.890000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[ 8.900000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[ 8.910000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[ 8.920000] cfg80211: (5170000 KHz - 5250000 KHz @ 160000 KHz), (N/A, 2000 mBm), (N/A)
[ 8.920000] cfg80211: (5250000 KHz - 5330000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[ 8.930000] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[ 8.940000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[ 8.950000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[ 9.010000] PPP generic driver version 2.4.2
[ 9.020000] NET: Registered protocol family 24
[ 9.120000] ieee80211 phy0: Atheros AR9340 Rev:0 mem=0xb8100000, irq=47
[ 9.150000] cfg80211: Calling CRDA for country: US
[ 9.150000] cfg80211: Regulatory domain changed to country: US
[ 9.160000] cfg80211: DFS Master region: FCC
[ 9.160000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[ 9.170000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
[ 9.180000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 1700 mBm), (N/A)
[ 9.190000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2300 mBm), (0 s)
[ 9.200000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A)
[ 9.200000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
procd: - init complete -
[ 17.270000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 17.280000] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready
[ 17.280000] device eth0.1 entered promiscuous mode
[ 17.290000] device eth0 entered promiscuous mode
[ 17.290000] eth0: link up (100Mbps/Full duplex)
[ 17.310000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 17.310000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
[ 17.320000] br-lan: port 1(eth0.1) entered forwarding state
[ 17.330000] br-lan: port 1(eth0.1) entered forwarding state
[ 19.330000] br-lan: port 1(eth0.1) entered forwarding state
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

View file

@ -0,0 +1,4 @@
## Hardwarebug
Die Nanostation M5 ist nicht betroffen, da sie einen Switch besitz, also ein anderer Ethernetchip verbaut ist.

View file

@ -0,0 +1,10 @@
#OpenWRT
Es gibt da diesen Bug von dem Daniel sprach: Bei einem großen Teil der neueren Geräte fällt nach einigen Stunden der WLAN-Chip aus.
Nur reboot kann das lösen. Dieser Bug betrifft allerdings auch die originale Firmware, bloß macht die heimlcih sowas wie einen schnellen reboot.
Siehe:
https://dev.openwrt.org/ticket/19085
Der letzte Eintrag im ticket klingt positiv, ist aber kaum 2 Tage alt.
Sollten wir also vielleicht nicht einsetzen.
ist das für uns überhaupt relevant? hardwarebugs gibt es immer wieder und überall, das os muss die dann halt verstecken, so gut es geht, und wenn die das in ihrer firmware gut geschafft haben, so dass es keinen weiteren effekt hat, dann ist das kein problem. (ihr glaubt ja garnicht wie viel hardware acpi falsch macht)