LAN9512 অক্ষম করুন


35

LAN9512 হল হার্ডওয়্যার ডিভাইস যা ইথারনেট এবং ইউএসবি পোর্টগুলি নিয়ন্ত্রণ করে। এই চিপটি প্রায় 200 এমএ খরচ করে এবং আমার যখন ইউএসবি বা ইথারনেটের প্রয়োজন হয় না তখন শক্তি সঞ্চয় করতে এটি অক্ষম করা খুব কার্যকর হবে। LAN9512 ডেটাশিটটি শক্তি সঞ্চয় করার জন্য ডিভাইসের কয়েকটি স্থির ব্যাখ্যা করে - এই মোডগুলি হ'ল SUSPEND2, SUSPEND1 এবং SUSPEND0। সুতরাং, এটি সম্ভব বলে মনে হচ্ছে।

আমি ইতিমধ্যে একটি আংশিক সমাধান খুঁজে পেয়েছি:

  • echo 0x0 > /sys/devices/platform/bcm2708_usb/buspowerকার্যকরভাবে ডিভাইসটিকে অক্ষম করবে এবং আবার echo 0x1একই ফাইলটি দিয়ে জাগিয়ে তুলবে । যাইহোক, একবার ডিভাইসটি থামিয়ে নির্দিষ্ট পরিমাণে শুরু করা হয়ে গেলে অপারেটিং সিস্টেমের পরবর্তী পুনরায় বুট হওয়া পর্যন্ত এটি আর জাগবে না।

LAN9512 অক্ষম করার এবং এটি আবার নির্ভরযোগ্যভাবে শুরু করার কোনও পদ্ধতি আছে? (সম্ভবত আমি এমন কিছু ড্রাইভার পুনরায় লোড করতে পারি যা LAN9512 নিয়ন্ত্রণ করে?)

প্রেরণা

যখন রাস্পবেরি পাই মডেল বি নিষ্ক্রিয় থাকে তখন এটি 400 এমএ গ্রাস করে। যখন এটি চাপ দেওয়া হয়, 470 এমএ। যখন LAN9512 অক্ষম থাকে, তখন এটি 200mA অলস এবং 260mA জোর করে খায়।

অন্যরা

  • LAN9512 অক্ষম করে এমন একটি স্ক্রিপ্ট ব্যবহার করে "বাসপাওয়ার" এর মাধ্যমে চিপটি অক্ষম করার সক্ষমতা পরীক্ষা করেছি, ক্রিয়াকলাপ এবং রিবুটগুলি পরীক্ষা করার জন্য কোনও ইউএসবি ডিভাইস মাউন্ট করার চেষ্টা করেছি। এখন অবধি, রাস্পবেরি পাই ত্রুটি ছাড়াই 9222 বার রিবুট করেছে।
  • echo 1 > /sys/devices/platform/bcm2708_usb/bussuspendLAN9512 অক্ষম করে কিন্তু echo 0একই ফাইলটি করার সময় এটি আবার জাগ্রত করবে না । এটি অক্ষম করার পরে, রাস্পবেরি পাই চূড়ান্তভাবে ধীরে ধীরে ধীরে ধীরে লোডের গড় 4 পর্যন্ত রিপোর্ট করে।

1
শুধু আউট কৌতুহল; উপরের কমান্ডগুলির মধ্যে একটি ব্যবহার করে আপনি যখন এটি নিষ্ক্রিয় করবেন তখন কী বিদ্যুত ব্যবহার হ্রাস পাবে?
গারবেন

2
হ্যাঁ! উভয় বাসপাওয়ার এবং বসপাস্পেন্ড ফাইল 200mA খরচ হ্রাস করে। যখন একটি রাস্পবেরি পাই নিষ্ক্রিয় থাকে তখন এটি 400 এমএ খরচ করে। যখন এটি চাপ দেওয়া হয়, 470 এমএ। চিপ অক্ষম হওয়ার সাথে সাথে এটি 200 এমএ অলস এবং 260 এমএ জোর করে।
এলেিক্সস

সত্যিই সুন্দর. তোমাকে ধন্যবাদ. দুঃখিত আমি যদিও সাহায্য করতে পারি না
গারবেন

কেবল কৌতূহল: আপনি যদি ইউএসবি এবং ইথারনেট অক্ষম করেন তবে আপনি কীভাবে ওয়েকআপ আদেশটি প্রেরণ করবেন? ক্রোন-জব নিয়ে নাকি ঘুমের পরে?
মোশে কাটজ

আমি সরলতার জন্য ঘুম পছন্দ করি। ডিবাগিংয়ের সময়, আমি "প্রতিধ্বনি 0x0> / sys / ডিভাইস / প্ল্যাটফর্ম / বিসিএম 2708_usb / বাসপাওয়ার; স্লিপ 2; ইকো 0x1> / সিস / ডিভাইস / প্ল্যাটফর্ম / বিসিএম 2708_usb / বাসপাওয়ার; স্লিপ 30; রিবুট" ব্যবহার করি। সুতরাং, যদি ইউএসবি না জেগে থাকে তবে তা স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে। "ঘুম 2" কেবল প্রতিক্রিয়া জানাতে হার্ডওয়্যারকে কিছুটা সময় দেওয়ার জন্য।
এলেক্স্রোকস

উত্তর:


7

আমার নিজের কিছু পরীক্ষা-নিরীক্ষা করার পরে আমি পরীক্ষার জন্য নিম্নলিখিতগুলি করেছি:

ইউএসবি থেকে টিটিএল / ডিবিগ তারের সাথে 5 ভি মাল্টিমিটার cable

লগইন স্ক্রিনে কেবলমাত্র পাওয়ার এবং নেটওয়ার্কের সাথে সংযুক্ত সাধারণ বুটটি প্রায় 420-380Ma ছিল

আমি প্রথমে নেটওয়ার্কিং বন্ধ করেছিলাম /etc/init.d/networking stopএবং তারপরে চিপটি দিয়েছিলাম echo 0 > /sys/devices/platform/bcm2708_usb/buspowerএবং প্রকৃতপক্ষে এটি 240Ma এ নেমে গেছে

আমি ব্যর্থ গুগল পিন করতে সক্ষম হয়েছি! (যা ভাল)

এরপরে আমি এটিকে বাসের পাওয়ার 1 তে প্রতিধ্বনিত করে এবং নেটওয়ার্ক স্টার্ট কমান্ডটি চালিয়ে আবার চালু করি। এবং আবার আমি প্রায় 370-420ma ফিরে এসেছি। পিংিং গুগল তখন কাজ করে।

আমি তখন এটিকে একটি এসএইচ ফাইলে রেখেছি যা লুপ হয়ে গেছে এবং এটি পুনরায় বুট করার দরকার ছাড়াই 10 টিরও বেশি সময় ধরে চলে। আপনার কমান্ডে আমি প্রতিবার এটি রিবুট করতে দেখতে পেলাম কারণ আপনার রিবুট কমান্ডটি ভিতরে রাখার কারণেই হোক।

পরীক্ষার জন্য কোডটি অটো রিবুট কোডের উবুন্টু পেস্টটি পাওয়া যাবে

এটি তখন থামাতে এবং শুরু করতে সহজভাবে ব্যবহার করা যেতে পারে। আপনি এর প্রথম অংশটি স্টপ কমান্ড হিসাবে এবং দ্বিতীয় অংশটি স্টার্ট কমান্ড হিসাবে করতে পারবেন।

আমি এই @ আমার ব্লগের একটি সম্পূর্ণ লেখার কাজও করেছি


এটাই কেবল সমস্যা। যত তাড়াতাড়ি বা পরে, আপনাকে পুনরায় বুট করা দরকার কারণ LAN9512 কাজ করা বন্ধ করে দেয়। আমি এমন একটি সমাধান খুঁজছি যা পুনরায় বুট করার দরকার নেই। (আমার স্ক্রিপ্টে আমি প্রতিবারই কেবল কীবোর্ডের কাজ বন্ধ করে দিয়ে পুনরায় বুট করি, কারণ রিবুট করার আগে আমি স্ক্রিপ্টটি ম্যানুয়ালি মেরে ফেলার চেষ্টা করেছি the এটি কীবোর্ডটি কাজ করে আমি এটি
সিটিআর

ঠিক যেমন আমি বলেছিলাম যে আমি নেটওয়ার্ক পিংয়ের জন্য কাজ করে এমন প্রত্যেকের সাথে একটি ধ্রুবক লুপটিতে শেষ পর্যন্ত এটি 50 টিরও বেশি ভালভাবে পরীক্ষা করে দেখেছি। হয়তো কীবোর্ডটি কেবল আবার প্লাগ ইন করা দরকার বা ইউএসবি পুনরায় সেট করার দরকার আছে? অন্যরা যেমন বলেছে এটি এটির জন্য ডিজাইন করা হয়নি। যদি এটি করতে পারে এটি একটি বোনাস। সুতরাং মডেল এ এর ​​অন্যতম কারণ
রায়ান ওয়ালমসলে

আমার ক্ষেত্রে, আমি যখন আপনার স্ক্রিপ্টটি চালিয়েছি তখন এটি 10 ​​বারের বেশি হয় না। আমি আবার ইউএসবি প্লাগ করার চেষ্টা করেছি এবং এখনও কাজ করি নি। এই পার্থক্যটি সম্ভবত আমার রাস্পবেরি পাই বলে কোনও ধারণা নেই। আরও কেউ চেষ্টা করতে পারলে এটি গ্রেট হবে।
অ্যালেক্স্রোকস

3

LAN9512 খাঁটি অক্ষম ও সক্ষম করার বৈশিষ্ট্য:

  • প্রতিধ্বনি 0x0> / সিস / ডিভাইস / প্ল্যাটফর্ম / বিসিএম 2708_ ইউএসবি / বাসপাওয়ার (অক্ষম)
  • প্রতিধ্বনি 0x1> / সিস / ডিভাইস / প্ল্যাটফর্ম / বিসিএম 2708_ ইউএসবি / বাসপাওয়ার (সক্ষম)

নতুন কার্নেলগুলিতে ডিবাগ করা হয়েছে এবং এখন কোনও পরিবর্তন ছাড়াই নিখুঁতভাবে কাজ করছে। এটি পরীক্ষা করার জন্য আমি বেশ কয়েকটি স্ক্রিপ্ট তৈরি করেছি।

প্রথমটির উদ্দেশ্য হ'ল সফ্টওয়্যার বৈশিষ্ট্যটির মাধ্যমে অক্ষম করা পরীক্ষা করা। স্ক্রিপ্টটি LAN9512 অক্ষম করে এবং একটি USB ডিভাইস মাউন্ট করার চেষ্টা করে। যদি এটি করতে পারে, তবে পরীক্ষাটি ব্যর্থ হয়। তা না হলে পরীক্ষা সফল হয় succeed শেষ পর্যন্ত পুনরায় বুট করুন এবং আবার শুরু করুন। স্ক্রিপ্টটি চার দিন ধরে চলছে এবং রাস্পবিয়ান 2013-9-25-এ ব্যর্থতা ছাড়াই 8039 রিবুট প্রতিবেদন করেছে।

দ্বিতীয় স্ক্রিপ্টটি সক্ষম করা বৈশিষ্ট্যটি পরীক্ষা করে বোঝানো। প্রথমত, স্ক্রিপ্টটি LAN9512 অক্ষম করে। তারপরে পাইটিকে বিশ্রাম দিতে কয়েক সেকেন্ড অপেক্ষা করুন। এর পরে এটি LAN9512 সক্ষম করে এবং শেষ পর্যন্ত এটি "lsusb" কমান্ড কার্যকর করার চেষ্টা করে। এটি সমস্ত ইউএসবি ডিভাইস তালিকাভুক্ত করে। যদি কার্নেল সমস্ত ইউএসবি ডিভাইসগুলি সনাক্ত করতে পারে তবে LAN9512 আবার কাজ করছে। তা না হলে পরীক্ষাটি ব্যর্থ হয়েছে। পরীক্ষাটি এক সপ্তাহ ধরে চলছে এবং রাস্পবিয়ান 2013-9-25 তে ত্রুটি ছাড়াই 7209 লুপ এবং রাস্পবিয়ান 2014-1-7 এ 5374 লুপের প্রতিবেদন করেছে।

কার্নেল এবং ফার্মওয়্যার

রাস্পবিয়ান 2014-1-7 এ:

কার্নেল: লিনাক্স রাস্পবেরিপি 3.10.25+ # 622 PREEMPT শুক্র 3 জানুয়ারী 18:41:00 GMT 2014 আর্মভি 6 এল জিএনইউ / লিনাক্স ফার্মওয়্যার: b00bb3ae73bd2799df0e938b7a5f17f45303fb53 (ক্লিন) (রিলিজ)

রাস্পবিয়ান 2013-9-25 এ

কার্নেল: লিনাক্স রাস্পবেরিপি 3.6.11+ # 538 PREEMPT শুক্র 30 আগস্ট 20:42:08 বিএসটি 2013 আর্মভি 61 জিএনইউ / লিনাক্স ফার্মওয়্যার: 4f9d19896166f46a3255801bc1834561bf092732 (পরিষ্কার) (রিলিজ)


"LAN9512 নিষ্ক্রিয় ও সক্ষম করার বৈশিষ্ট্যটি নতুন কার্নেলগুলিতে ডিবাগ করা হয়েছে।" আপনি যে কার্নেল এবং ফার্মওয়্যারটি দেখেছেন তা রিপোর্ট করতে পারেন যা হাজার হাজার সফল ঘুম / জাগ্রত চক্রের অনুমতি দেয়? ধন্যবাদ! আমি আরও ঘুমানোর পাই এর দিকে অগ্রসর হতে আগ্রহী!
তাই ভাইনিকিকা

1

উপরোক্ত এই উত্তরগুলির প্রস্তাব দেওয়ার সময় সঠিক ছিল, তবে ২০১৫-এর কিছু সময় রাস্পবিয়ান পরিবর্তন করেছে এবং আগ্রহী ব্যবহারকারীদের প্রাসঙ্গিক নিয়ন্ত্রণগুলি সন্ধান করতে হবে।

Off:  echo 0x0 > /sys/devices/platform/soc/20980000.usb/buspower   
 On:  echo 0x1 > /sys/devices/platform/soc/20980000.usb/buspower

ইউজার অ্যাড্রিয়ানকে আমার ধন্যবাদ! https://raspberrypi.stackexchange.com/users/37611/adrian


হাই তাই! আপনি আগ্রহী ব্যবহারকারীদের জন্য কিছু রেফারেন্স সরবরাহ করতে পারেন? আপনি কোন রাস্পবেরি পাই ব্যবহার করছেন?
এলিক্সরোকস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.