আমি কোন মডেল রাস্পবেরি পাই চালাচ্ছি?


28

বর্তমানের রাস্পবেরি পাইটি রাস্পবিয়ান জেসি লাইট 8.0 এর সাথে 2 মডেল বি এবং 3 হয় কিনা তা নির্ধারণের কোনও উপায় আছে ?

এটি কারণ আমার bootstrap.shবাশে একটি বিশেষ লেখা আছে যেখানে এটি txpowerকোনও রাইঙ্ক আরটি 5370 চিপসেট ড্রাইভার ব্যবহার করে কোনও ওয়াই-ফাই ইউএসবি ডংলে (এখানে, রাস্পবেরি পাই 2) জন্য অ্যাট্রিবিউট সেট করতে হবে ।

আমি ওয়্যারলেস অ্যাট্রিবিউটগুলি ব্যবহার করে সেট করেছি iwconfig(যা আমি জানি হ্রাস করা হয়েছে, তবে এটি বর্তমানে কাজটি সম্পন্ন করে, তাই আমি এটি পরিবর্তন করছি না)।

যেহেতু, রাস্পবেরি পাই 3 -তে অভ্যন্তরীণ ওয়াই-ফাই চিপসেটটি একটি bcmবেসড চিপসেট যা নিম্নলিখিত কমান্ডটি কার্যকর করতে দেয় না:

iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0dBm

রাস্পবেরি পাই 3 এর সাথে উপরের বর্ণিত কমান্ড কেবল উল্লিখিত কমান্ডটি সরিয়ে dBmদিয়ে কাজ করে :

iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0

আমি ব্যাশ ব্যবহার করে রাস্পবেরি পাই মডেলটি 2 বা 3 কিনা তা একটি চেক যুক্ত করতে চাই।

কোন ইঙ্গিত?

ক্ষেত্রে, কেউ TWIN এর জন্যbootstrap.sh : বুটস্ট্র্যাপিংয়ের মধ্য দিয়ে যেতে চান

নোট

  • আমি চেক করে dBmহয় প্রয়োজন নেই , এছাড়াও ক্ষেত্রে রাস্পবেরী Pi 2 সঙ্গে Ralink চিপসেট অ অস্পষ্টতা এক জন্য একই কমান্ড ব্যবহার করতে অত: পর উভয় রাস্পবেরী Pis যেমন।

    iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
  • এটি আকর্ষণীয় যে লক্ষণীয় যে বাহ্যিক Wi-Fi ইউএসবি দোংলেসের জন্য নিম্নলিখিতটি সম্পাদন করা প্রয়োজন ( রাস্পবেরি পাই 2 এর জন্য ):

    ifconfig wlan0 down
    iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
    ifconfig wlan0 up
    

    কিছুদিনের জন্য যেমন Inbuilt ওয়াই-ফাই মডিউল (রাস্পবেরী Pi 3) আছে কোন প্রয়োজন জন্য ifconfig up and down। কেবল সরল iwconfigকমান্ড কাজ করে।


4
মডেল সন্ধানের পরিবর্তে আপনি যে জিনিসটি করতে চান তার জন্য পরীক্ষা করা সেরা পন্থা (রাস্পবেরি পাই 5 কেমন হবে?)। এই ক্ষেত্রে, দেখুন কোনও রালিংক আরটি 573 চিপসেট আছে কিনা এবং সে অনুযায়ী কনফিগার করুন। ওয়াইফাই ড্রাইভারের সাথে একই ভাবে ame
থরবজর্ন রাভন অ্যান্ডারসন



উত্তর:


40
cat /proc/device-tree/model

কিছু ফিরে

Raspberry Pi 3 Model B Rev 1.2

21

সিপিইউ টাইপ দ্বারা

আপনি কমান্ড দিয়ে আরপিআই সংস্করণ পরীক্ষা করতে পারেন uname,। বিভিন্ন RPI সংস্করণগুলির বিভিন্ন সিপিইউ আর্কিটেকচার রয়েছে। আরপিআই 2 এর একটি আর্ম 7 রয়েছে, যেখানে 3 টি একটি আর্ম 8 রয়েছে।

uname -m

হার্ডওয়্যার রিভিশন দ্বারা

আপনার যদি আরও সুনির্দিষ্ট হওয়ার প্রয়োজন হয় তবে আপনি আউটপুট থেকে পুনর্বিবেচনা এন্ট্রিটি পরীক্ষা করতে পারেন cat /proc/cpuinfo। আপনি যদি কেবলমাত্র সংশোধন নম্বরটি সঠিক করতে চান, নিম্নলিখিত কমান্ডটি এটি করা উচিত:

cat /proc/cpuinfo | grep 'Revision' | awk '{print $3}'

সংশোধন নম্বর

এই ওয়েবপৃষ্ঠায় একটি কার্যকর চার্ট রয়েছে যা আমি এখানে অনুলিপি করেছি।

এখানে চিত্র বর্ণনা লিখুন


1
আমি এর /proc/cpuinfoআগে দিয়েছি এটি সেরা বিকল্প হিসাবে মনে হচ্ছে, যেহেতু uname -mখুব বেশি কিছু বলে না।
শান-দেশাই

1
@ শান-দেশাই: সম্পাদনার আগে আপনি এটি দেখেছেন কিনা তা নিশ্চিত নন, তবে আমি কেবল একটি কমান্ড অন্তর্ভুক্ত করেছি যা প্রোক ফাইল থেকে কেবল পুনর্বিবেচনার তথ্য বের করবে। আশা করি এইটি কাজ করবে.
জ্যাকবম 1001

1
হ্যাঁ, আপনি যা উল্লেখ করেছেন তার চেষ্টা করেছি। তুলনা একটি মধ্যবর্তী ছিল পাই 2 মডেল v1.1 এবং পাই 3 মডেল বি মজার ব্যাপার কিন্তু যে আমার পাই 3 এখনও শো armv7l উপরuname -m
শান-দেশাই

2
আপনার অর্থ / ক্রোক / সিপুইনফো নয় / সিপিইউ / প্রোকিনফো
ব্যবহারকারী 253751

unameকেবলমাত্র টার্গেট আর্কিটেকচার লিনাক্সের জন্য তৈরি করা হয়েছিল, এবং সিপিইউ টাইপ নির্ধারণের জন্য অবিশ্বাস্য। বর্তমান আরপিআই 3 রাস্পবিয়ান 32 বিট মোডে চলে। এটি তালিকাভুক্ত করবে armv7, আপনি যদি একটি AARCH64( arm64) লিনাক্স armv8ব্যবহার করেন তবে এটি বলবে , আপনি যদি পুরানো আরপিআই 1 রাস্পবিয়ান ব্যবহার করেন তবে এটি বলবে armv6
ক্র্যাসিক

6

এটি নির্ধারণের জন্য অনেকগুলি পদ্ধতি (নির্ভরযোগ্যতার নির্ভরযোগ্যতার) রয়েছে। সবচেয়ে সম্পূর্ণ এবং নির্ভরযোগ্য এক হ'ল gpio -vযা নিম্নলিখিত আউটপুট উত্পাদন করে।

gpio version: 2.44
Copyright (c) 2012-2017 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
  Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Embest 
  * Device tree is enabled.
  *--> Raspberry Pi 3 Model B Rev 1.2
  * This Raspberry Pi supports user-level GPIO access.

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

Https://raspberrypi.stackexchange.com/a/85016/8697 এর স্ক্রিপ্টটি আপনার পাই এবং ওএস সম্পর্কে বিস্তৃত তথ্য দেখায় ।


2

আমি একটি বাশ স্ক্রিপ্ট তৈরি করেছি যা সংশোধনের উপর ভিত্তি করে মডেল তথ্য সরবরাহ করবে।

আপনি যদি এটি আরও ভাল করেন তবে দয়া করে আমাকে জানান।

#!/bin/bash
# which_pi.bash
# BASH Script to display Pi Hardware version based on info found in /proc/cpuinfo
# Andy Delgado - April 11, 2017
# Info gleaned from
# http://www.raspberrypi-spy.co.uk/2012/09/checking-your-raspberry-pi-board-version

REVCODE=$(sudo cat /proc/cpuinfo | grep 'Revision' | awk '{print $3}' | sed 's/^ *//g' | sed 's/ *$//g')

if [ "$REVCODE" = "0002" ]; then
    PIMODEL="Raspberry Pi Model B Rev 1, 256 MB RAM"
fi

if [ "$REVCODE" = "0003" ]; then
    PIMODEL="Raspberry Pi Model B Rev 1 ECN0001, 256 MB RAM"
fi

if [ "$REVCODE" = "0004" ]; then
    PIMODEL="Raspberry Pi Model B Rev 2, 256 MB RAM"
fi

if [ "$REVCODE" = "0005" ]; then
    PIMODEL="Raspberry Pi Model B Rev 2, 256 MB RAM"
fi

if [ "$REVCODE" = "0006" ]; then
    PIMODEL="Raspberry Pi Model B Rev 2, 256 MB RAM"
fi

if [ "$REVCODE" = "0007" ]; then
    PIMODEL="Raspberry Pi Model A, 256 MB RAM"
fi

if [ "$REVCODE" = "0008" ]; then
    PIMODEL="Raspberry Pi Model A, 256 MB RAM"
fi

if [ "$REVCODE" = "0009" ]; then
    PIMODEL="Raspberry Pi Model A, 256 MB RAM"
fi

if [ "$REVCODE" = "000d" ]; then
    PIMODEL="Raspberry Pi Model B Rev 2, 512 MB RAM"
fi

if [ "$REVCODE" = "000e" ]; then
    PIMODEL="Raspberry Pi Model B Rev 2, 512 MB RAM"
fi

if [ "$REVCODE" = "000f" ]; then
    PIMODEL="Raspberry Pi Model B Rev 2, 512 MB RAM"
fi

if [ "$REVCODE" = "0010" ]; then
    PIMODEL="Raspberry Pi Model B+, 512 MB RAM"
fi

if [ "$REVCODE" = "0013" ]; then
    PIMODEL="Raspberry Pi Model B+, 512 MB RAM"
fi

if [ "$REVCODE" = "900032" ]; then
    PIMODEL="Raspberry Pi Model B+, 512 MB RAM"
fi

if [ "$REVCODE" = "0011" ]; then
    PIMODEL="Raspberry Pi Compute Module, 512 MB RAM"
fi

if [ "$REVCODE" = "0014" ]; then
    PIMODEL="Raspberry Pi Compute Module, 512 MB RAM"
fi

if [ "$REVCODE" = "0012" ]; then
    PIMODEL="Raspberry Pi Model A+, 256 MB RAM"
fi

if [ "$REVCODE" = "0015" ]; then
    PIMODEL="Raspberry Pi Model A+, 256 MB or 512 MB RAM"
fi

if [ "$REVCODE" = "a01041" ]; then
    PIMODEL="Raspberry Pi 2 Model B v1.1, 1 GB RAM"
fi

if [ "$REVCODE" = "a21041" ]; then
    # a21041 (Embest, China)
    PIMODEL="Raspberry Pi 2 Model B v1.1, 1 GB RAM"
fi

if [ "$REVCODE" = "a22042" ]; then
    PIMODEL="Raspberry Pi 2 Model B v1.2, 1 GB RAM"
fi

if [ "$REVCODE" = "90092" ]; then
    PIMODEL="Raspberry Pi Zero v1.2, 512 MB RAM"
fi

if [ "$REVCODE" = "90093" ]; then
    PIMODEL="Raspberry Pi Zero v1.3, 512 MB RAM"
fi

if [ "$REVCODE" = "0x9000C1" ]; then
    PIMODEL="Raspberry Pi Zero W, 512 MB RAM"
fi

if [ "$REVCODE" = "a02082" ]; then
    PIMODEL="Raspberry Pi 3 Model B, 1 GB RAM"
fi

if [ "$REVCODE" = "a22082" ]; then
    PIMODEL="Raspberry Pi 3 Model B, 1 GB RAM"
fi

echo "$PIMODEL ($REVCODE)"

অন্য যদি কাঠামো আরও বেশি দক্ষ হবে।
জ্যাকব এম 1001

4
একটি সুইচ বিবৃতি ভাল হবে।
শান-দেশাই

2

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

function check_pi_version() {
  local -r REVCODE=$(awk '/Revision/ {print $3}' /proc/cpuinfo)
  local -rA REVISIONS=(
    [0002]="Model B Rev 1, 256 MB RAM"
    [0003]="Model B Rev 1 ECN0001, 256 MB RAM"
    [0004]="Model B Rev 2, 256 MB RAM"
    [0005]="Model B Rev 2, 256 MB RAM"
    [0006]="Model B Rev 2, 256 MB RAM"
    [0007]="Model A, 256 MB RAM"
    [0008]="Model A, 256 MB RAM"
    [0009]="Model A, 256 MB RAM"
    [000d]="Model B Rev 2, 512 MB RAM"
    [000e]="Model B Rev 2, 512 MB RAM"
    [000f]="Model B Rev 2, 512 MB RAM"
    [0010]="Model B+, 512 MB RAM"
    [0013]="Model B+, 512 MB RAM"
    [900032]="Model B+, 512 MB RAM"
    [0011]="Compute Module, 512 MB RAM"
    [0014]="Compute Module, 512 MB RAM"
    [0012]="Model A+, 256 MB RAM"
    [0015]="Model A+, 256 MB or 512 MB RAM"
    [a01041]="2 Model B v1.1, 1 GB RAM"
    [a21041]="2 Model B v1.1, 1 GB RAM"
    [a22042]="2 Model B v1.2, 1 GB RAM"
    [90092]="Zero v1.2, 512 MB RAM"
    [90093]="Zero v1.3, 512 MB RAM"
    [0x9000C1]="Zero W, 512 MB RAM"
    [a02082]="3 Model B, 1 GB RAM"
    [a22082]="3 Model B, 1 GB RAM"
  )

  echo "Raspberry Pi ${REVISIONS[${REVCODE}]} (${REVCODE})"
}

পাশাপাশি: REVISIONSআমি এটির উপরে sshযেমন ব্যবহার করি তেমনি একটি ফাংশনের অভ্যন্তরে সংজ্ঞায়িত করা হয়ssh some-host "$(declare -f); check_pi_version"


-2

সহজ উপায় : dmesg | grep "Machine model:"


আশ্চর্যের বিষয়, যখন আমি চেষ্টা করি তখন এটি কিছুই আউটপুট দেয় না!
স্বর্ণকেশ

@ পাইকগুলি [Tue Apr 11 15:59:32 2017] Machine model: Raspberry Pi 3 Model B Rev 1.2আমার পাইতে প্রদর্শন করে। সবচেয়ে শক্তিশালী পদ্ধতি নাও হতে পারে।
মিলিওয়েজ

@ মিলিওয়েজ আমার পক্ষে এটি না করার কারণ সিস্টেমটি অনেক দীর্ঘ হয়েছে। এটি বুট থেকে, এবং dmesgএটি একটি বিজ্ঞপ্তি বাফার। অতএব, এটি একটি ত্রুটিযুক্ত পদ্ধতি।
স্বর্ণকেশ

@ গল্ডিলকস সম্ভবত ওপি বুট করার পরে কেবল জানতে চায়। এটি পরিবর্তনের সম্ভাবনা নেই ;-) ওপি সমস্যা সমাধানের প্রায় অবশ্যই আরও ভাল পদ্ধতি রয়েছে।
মিলিওয়েজ

আমার মতে সেরা সমাধান। রাস্পবেরিয়ান চলমান রাস্পবেরি পাই 2 এবং 3 এ পুরোপুরি কাজ করে। আমি এটি একটি পাইতে পরীক্ষা করেছি যা 8 দিন থেকে চলে। এই থ্রেডের অন্যান্য সমাধানগুলির জন্য হয় নতুন সরঞ্জামগুলি (জিপিও) প্রয়োজন বা আপনাকে সিপিইউ রিভিশন কোডটি একটি বর্ণন সারণিতে ম্যাপ করতে হবে (এবং এটি বজায় রাখতে হবে)। এটিই হ'ল একমাত্র আদেশ যা আপনাকে সঠিক নামটি বলে Machine model: Raspberry Pi 2 Model B Rev 1.1- রুট ছাড়াই।
ইউজেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.