LAN9512 एक हार्डवेयर डिवाइस है जो ईथरनेट और USB पोर्ट को नियंत्रित करता है। यह चिप लगभग 200mA की खपत करता है, और जब मुझे USB या ईथरनेट की आवश्यकता नहीं होती है, तो ऊर्जा बचाने के लिए इसे निष्क्रिय करना बहुत उपयोगी होगा। LAN9512 डेटाशीट ऊर्जा को बचाने के लिए डिवाइस के कुछ राज्यों की व्याख्या करता है - ये मोड SUSPEND2, SUSPEND1 और SUSPEND0 हैं। इसलिए, यह संभव प्रतीत होता है।
मुझे पहले से ही एक आंशिक समाधान मिल गया है:
echo 0x0 > /sys/devices/platform/bcm2708_usb/buspower
प्रभावी रूप से डिवाइस को अक्षम कर देगा और उसेecho 0x1
उसी फ़ाइल के साथ फिर से जगा देगा । हालांकि, एक बार डिवाइस को बंद कर दिया गया है और एक निश्चित संख्या में शुरू हो गया है, यह ऑपरेटिंग सिस्टम के अगले रिबूट तक फिर से नहीं उठेगा।
क्या LAN9512 को अक्षम करने और इसे फिर से मज़बूती से शुरू करने की कोई विधि है? (शायद मैं LAN9512 को नियंत्रित करने वाले कुछ ड्राइवर को पुनः लोड कर सकता हूं?)
प्रेरणा
जब एक रास्पबेरी पाई मॉडल बी निष्क्रिय होता है, तो यह 400 एमए की खपत करता है। जब यह जोर दिया है, 470mA। जब LAN9512 को निष्क्रिय किया जाता है, तो यह बेकार में 200mA और 260mA पर जोर देता है।
अन्य लोग
- मैंने एक स्क्रिप्ट का उपयोग करके "buspower" के माध्यम से चिप को अक्षम करने की व्यवहार्यता का परीक्षण किया है जो LAN9512 को निष्क्रिय करता है, गतिविधि और रीबूट के लिए जाँच करने के लिए एक usb डिवाइस को माउंट करने की कोशिश करता है। अब तक, रास्पबेरी पी ने त्रुटियों के बिना 9222 बार रिबूट किया है।
echo 1 > /sys/devices/platform/bcm2708_usb/bussuspend
LAN9512 को अक्षम करता है, लेकिनecho 0
एक ही फ़ाइल में करने पर इसे फिर से नहीं जगाएगा । इसे अक्षम करने के बाद, रास्पबेरी पाई अत्यधिक धीमी गति से 4 तक लोड की औसत रिपोर्टिंग करती है।