ব্লুটুথড (ব্লুজেড 5) কোনও ডিভাইসের সাথে সংযুক্ত হবে না


9

সমাধান। সম্পাদিত: নীচে দেখুন।

আমি মনে করি এই সমস্যাটির জন্য আমি ইন্টারনেটকে যথেষ্ট দীর্ঘস্থায়ী করেছি। এটি অনেকবার জিজ্ঞাসা করা হয়েছে, তবে সমাধানগুলির কোনওটিই আমার পক্ষে কাজ করে না। আমি ব্লুজেড 5 এ আপগ্রেড করেছি কারণ অবশেষে আমি এর কম শক্তি ক্ষমতা ব্যবহার করতে সক্ষম হতে চাই। এখনই, যদিও আমি আমার ডিভাইসগুলি যুক্ত করে তুলতে পারি না। আমি একটি জিইউআই ব্যবহার করতে পারি না কারণ এটি শেষ পর্যন্ত এমবেডড লিনাক্স সিস্টেমের জন্য be অতএব, আমি মনে করি আমি ব্লুটুথাক্টেলও ব্যবহার করতে পারি না, কারণ এটির জন্য একটি ইন্টারেক্টিভ সেশন প্রয়োজন। (আমি এতে ভুল হতে পারি)) সুতরাং আমি চাই সমস্ত কিছু সেভাবেই বেস, সি, বা অজগর দিয়ে হোক। এছাড়াও, যেহেতু এটি স্বয়ংক্রিয় করা দরকার, তাই জুটি এবং সংযোগটি লিনাক্স বাক্স থেকে নয়, ব্লুটুথ ডিভাইস থেকে শুরু করতে হবে। সবশেষে, সমস্ত ডিভাইসকে a2dp প্রোফাইল ব্যবহার করা দরকার।

অনেকগুলি পন্থা রয়েছে বলে মনে হয় তবে কোথায় শেষ হয় এবং অন্যটি শুরু হয় সে সম্পর্কে আমি পরিষ্কার নয়:

আবেদন 1:

ক) $ sudo bluetoothd -d -n ভারবস মোডে # রুরগুলি ব্লুটুথড

খ) $ hciconfig hci1 up# ডিভাইসটি চালু করে

$ hciconfig -a ডিভাইস বৈশিষ্ট্য দেখুন

    Type: BR/EDR  Bus: USB
    BD Address: 00:02:72:C5:D8:E0  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN 
    RX bytes:32875 acl:761 sco:0 events:1037 errors:0
    TX bytes:20178 acl:780 sco:0 commands:329 errors:0
    Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
    Link policy: RSWITCH SNIFF 
    Link mode: SLAVE ACCEPT 
    Name: 'Adapter-1'
    Class: 0x00010c
    Service Classes: Unspecified
    Device Class: Computer, Laptop
    HCI Version: 4.0 (0x6)  Revision: 0x1000
    LMP Version: 4.0 (0x6)  Subversion: 0x220e
    Manufacturer: Broadcom Corporation (15)

গ) ডিভাইস থেকে জোড় করার চেষ্টা করুন।

ফলাফল: ব্লুটুথড থেকে:

bluetoothd[5359]: src/adapter.c:connected_callback() hci1 device 70:72:3C:62:49:7F connected eir_len 15
bluetoothd[5359]: src/adapter.c:user_confirm_request_callback() hci1 70:72:3C:62:49:7F confirm_hint 1
bluetoothd[5359]: src/device.c:new_auth() Requesting agent authentication for 70:72:3C:62:49:7F
** bluetoothd[5359]: No agent available for request type 2
** bluetoothd[5359]: device_confirm_passkey: Operation not permitted 
bluetoothd[5359]: src/adapter.c:btd_adapter_confirm_reply() hci1 addr 70:72:3C:62:49:7F success 0
bluetoothd[5359]: src/adapter.c:bonding_attempt_complete() hci1 bdaddr 70:72:3C:62:49:7F type 0 status 0x5
bluetoothd[5359]: src/device.c:device_bonding_complete() bonding (nil) status 0x05
bluetoothd[5359]: src/device.c:device_bonding_failed() status 5
bluetoothd[5359]: src/adapter.c:resume_discovery() 
bluetoothd[5359]: src/adapter.c:dev_disconnected() Device 70:72:3C:62:49:7F disconnected, reason 3
bluetoothd[5359]: src/adapter.c:adapter_remove_connection() 
bluetoothd[5359]: src/adapter.c:bonding_attempt_complete() hci1 bdaddr 70:72:3C:62:49:7F type 0 status 0xe
bluetoothd[5359]: src/device.c:device_bonding_complete() bonding (nil) status 0x0e
bluetoothd[5359]: src/device.c:device_bonding_failed() status 14
bluetoothd[5359]: src/adapter.c:resume_discovery()

ডিভাইস বলছে যে একটি ভুল পিন বা পাসকির কারণে অ্যাডাপ্টার -১ এর সাথে জুটি করা যায়নি।

উপরের তারাঙ্কিত প্রতিক্রিয়ার ভিত্তিতে আমি কেন এজেন্ট ছিল না তা খতিয়ে দেখলাম। এজেন্ট কি? কে জানে, তবে আমি অনুমান করেছিলাম যে এটি আমার ডিভাইস এবং ব্লুটুথ ডেমনের মধ্যে মধ্যস্থতাকারী।

d) # আমি $ ../bluey-5.15/test/simple-agent এই কমান্ডগুলির সাহায্যে sudo ব্যবহার করার চেষ্টাও করেছি

অথবা $ ../bluey-5.15/test/simple-agent hci1

এটি একটি পাইথন স্ক্রিপ্ট যা আগত জোড়ার অনুরোধগুলি পরিচালনা করে। যদি সফল হয় তবে এটি 'বিশ্বাস' এবং 'সংযোগ' করার চেষ্টা করে

আউটপুট: Agent registered

e) তারপরে আমি আবার ডিভাইস থেকে জোড়া লাগানোর চেষ্টা করব।

সাধারণ এজেন্ট আউটপুট:

RequestConfirmation (/org/bluez/hci1/dev_70_72_3C_62_49_7F, 110643)
Confirm passkey (yes/no): yes 

আমি বিটি ডিভাইসে জোড় জোড় করেছি এবং এটি জোড় করে বলেছে, তবে সিম্পল-এজেন্ট ঝুলছে। আমি ব্লুজেড 4 ব্যবহার করেছি এবং আমি নিশ্চিত যে এটি "নতুন ডিভাইস XX_XX_XX_XX_XX_XX" এর মতো কিছু বলার কথা

ব্লুটুডযুক্ত আউটপুট:

** bluetoothd[5359]: src/agent.c:set_default_agent() Default agent set to :1.126 /test/agent
bluetoothd[5359]: src/adapter.c:connected_callback() hci1 device 70:72:3C:62:49:7F connected eir_len 15
bluetoothd[5359]: src/adapter.c:user_confirm_request_callback() hci1 70:72:3C:62:49:7F confirm_hint 0
bluetoothd[5359]: src/device.c:new_auth() Requesting agent authentication for 70:72:3C:62:49:7F
bluetoothd[5359]: src/agent.c:agent_ref() 0xa59290: ref=2
bluetoothd[5359]: src/agent.c:agent_request_confirmation() Calling Agent.RequestConfirmation: name=:1.126, path=/test/agent, passkey=110643
bluetoothd[5359]: src/agent.c:agent_ref() 0xa59290: ref=3
bluetoothd[5359]: src/adapter.c:btd_adapter_confirm_reply() hci1 addr 70:72:3C:62:49:7F success 1
bluetoothd[5359]: src/agent.c:agent_unref() 0xa59290: ref=2
bluetoothd[5359]: src/agent.c:agent_unref() 0xa59290: ref=1
bluetoothd[5359]: src/adapter.c:new_link_key_callback() hci1 new key for 70:72:3C:62:49:7F type 5 pin_len 0
bluetoothd[5359]: src/device.c:device_set_bonded() 
bluetoothd[5359]: src/device.c:device_bonding_complete() bonding (nil) status 0x00
bluetoothd[5359]: src/adapter.c:resume_discovery() 
bluetoothd[5359]: src/adapter.c:dev_disconnected() Device 70:72:3C:62:49:7F disconnected, reason 3
bluetoothd[5359]: src/adapter.c:adapter_remove_connection() 
bluetoothd[5359]: src/adapter.c:bonding_attempt_complete() hci1 bdaddr 70:72:3C:62:49:7F type 0 status 0xe
bluetoothd[5359]: src/device.c:device_bonding_complete() bonding (nil) status 0x0e
bluetoothd[5359]: src/device.c:device_bonding_failed() status 14
bluetoothd[5359]: src/adapter.c:resume_discovery()

সুতরাং এটি কিছু করে।

hcidump আউটপুট:

$ hcidump -i hci1

HCI sniffer - Bluetooth packet analyzer ver 5.15
device: hci1 snap_len: 1500 filter: 0xffffffffffffffff
> HCI Event: Connect Request (0x04) plen 10
    bdaddr 70:72:3C:62:49:7F class 0x5a020c type ACL
> HCI Event: Command Status (0x0f) plen 4
    Accept Connection Request (0x01|0x0009) status 0x00 ncmd 1
> HCI Event: Connect Complete (0x03) plen 11
    status 0x00 handle 11 bdaddr 70:72:3C:62:49:7F type ACL encrypt 0x00
> HCI Event: Command Status (0x0f) plen 4
    Read Remote Supported Features (0x01|0x001b) status 0x00 ncmd 1
> HCI Event: Read Remote Supported Features (0x0b) plen 11
    status 0x00 handle 11
    Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
> HCI Event: Command Status (0x0f) plen 4
    Read Remote Extended Features (0x01|0x001c) status 0x00 ncmd 1
> HCI Event: Command Complete (0x0e) plen 10
    IO Capability Request Reply (0x01|0x002b) ncmd 1
    status 0x00 bdaddr 70:72:3C:62:49:7F
> HCI Event: Read Remote Extended Features (0x23) plen 13
    status 0x00 handle 11 page 1 max 1
    Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
> HCI Event: Command Status (0x0f) plen 4
    Remote Name Request (0x01|0x0019) status 0x00 ncmd 1
> HCI Event: Remote Name Req Complete (0x07) plen 255
    status 0x00 bdaddr 70:72:3C:62:49:7F name 'Prism II'
> HCI Event: Command Complete (0x0e) plen 10
    User Confirmation Request Reply (0x01|0x002c) ncmd 1
    status 0x00 bdaddr 70:72:3C:62:49:7F
> HCI Event: Disconn Complete (0x05) plen 4
    status 0x00 handle 11 reason 0x13
    Reason: Remote User Terminated Connection

আমি এমনকি ব্লুটুথেক্টল চেষ্টা করেছিলাম, তবে এর একই ফলাফল রয়েছে। মজার বিষয় হ'ল ব্লুজেডের কিছু স্ক্রিপ্ট (যেমন টেস্ট-ডিভাইস) কিছু কমান্ডের জন্য বিটি ডিভাইস দেখতে পাবে, তবে অন্যদের নয়। উদাহরণস্বরূপ, পরীক্ষার-ডিভাইসটি ডিভাইসটির 'বিশ্বাস' করবে, কিন্তু আমি যখন এটি 'অপসারণ' করার চেষ্টা করি তখন এটি বিদ্যমান না।

যোগাযোগ 2:

DBUS সরাসরি dbus- প্রেরণ - সিস্টেম কমান্ড ব্যবহার করে। আমি মনে করি না যতক্ষণ না আমি ডিভাইসটিকে সংযুক্ত করতে এবং সংযুক্ত করতে পারি ততক্ষণ এই কমান্ডগুলির কোনওই আমার পক্ষে ভাল করবে।

আবেদন 3:

আমি এই পোস্টে সমস্ত পরামর্শ চেষ্টা করেছিলাম । ব্লুজেডে কোনও /etc/bluetuth/hcid.conf নেই I আমার কি একটি তৈরি করা দরকার? Rfcomm কমান্ডটি সংযুক্ত হবে তবে তারপরেই সংযোগ বিচ্ছিন্ন হবে।

$ sudo rfcomm connect /dev/rfcomm0 70:72:3C:62:49:7F 1
Connected /dev/rfcomm0 to 70:72:3C:62:49:7F on channel 1
Press CTRL-C for hangup
Disconnected

ব্লুটুডযুক্ত আউটপুট:

bluetoothd[5359]: src/adapter.c:connected_callback() hci1 device 70:72:3C:62:49:7F connected eir_len 10
bluetoothd[5359]: src/adapter.c:dev_disconnected() Device 70:72:3C:62:49:7F disconnected, reason 3
bluetoothd[5359]: src/adapter.c:adapter_remove_connection() 
bluetoothd[5359]: src/adapter.c:bonding_attempt_complete() hci1 bdaddr 70:72:3C:62:49:7F type 0 status 0xe
bluetoothd[5359]: src/device.c:device_bonding_complete() bonding (nil) status 0x0e
bluetoothd[5359]: src/device.c:device_bonding_failed() status 14
bluetoothd[5359]: src/adapter.c:resume_discovery()

hcidump আউটপুট:

$ hcidump -i hci1
HCI sniffer - Bluetooth packet analyzer ver 5.15
device: hci1 snap_len: 1500 filter: 0xffffffffffffffff
> HCI Event: Command Status (0x0f) plen 4
    Create Connection (0x01|0x0005) status 0x00 ncmd 1
> HCI Event: Connect Complete (0x03) plen 11
    status 0x00 handle 11 bdaddr 70:72:3C:62:49:7F type ACL encrypt 0x00
> HCI Event: Command Status (0x0f) plen 4
    Read Remote Supported Features (0x01|0x001b) status 0x00 ncmd 1
> HCI Event: Read Remote Supported Features (0x0b) plen 11
    status 0x00 handle 11
    Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
> HCI Event: Command Status (0x0f) plen 4
    Read Remote Extended Features (0x01|0x001c) status 0x00 ncmd 1
> HCI Event: Read Remote Extended Features (0x23) plen 13
    status 0x00 handle 11 page 1 max 1
    Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
> HCI Event: Command Status (0x0f) plen 4
    Remote Name Request (0x01|0x0019) status 0x00 ncmd 1
> HCI Event: Remote Name Req Complete (0x07) plen 255
    status 0x00 bdaddr 70:72:3C:62:49:7F name 'Prism II'
> HCI Event: Command Status (0x0f) plen 4
    Authentication Requested (0x01|0x0011) status 0x00 ncmd 1
> HCI Event: Command Complete (0x0e) plen 10
    Link Key Request Reply (0x01|0x000b) ncmd 1
    status 0x00 bdaddr 70:72:3C:62:49:7F
> HCI Event: Auth Complete (0x06) plen 3
    status 0x00 handle 11
> HCI Event: Command Status (0x0f) plen 4
    Set Connection Encryption (0x01|0x0013) status 0x00 ncmd 1
> HCI Event: Encrypt Change (0x08) plen 4
    status 0x00 handle 11 encrypt 0x01
> HCI Event: Command Status (0x0f) plen 4
    Exit Sniff Mode (0x02|0x0004) status 0x0c ncmd 1
    Error: Command Disallowed
> HCI Event: Disconn Complete (0x05) plen 4
    status 0x00 handle 11 reason 0x13
    Reason: Remote User Terminated Connection

কোন পরামর্শ? আমি কি:

  • সত্যিই সুস্পষ্ট কিছু ভুলে যাচ্ছেন?

  • সরঞ্জামগুলি ভুলভাবে ব্যবহার করছেন?

  • একটি কনফিগার ফাইল সেট করতে ভুলে যাচ্ছেন?

সম্পাদনা:

যেহেতু ব্লুজ সিম্পল এজেন্ট আমাকে কোনও কার্যকর ত্রুটি দিচ্ছে না, তাই আমি আমার নিজের জুটি এজেন্টটি লিখেছি। একবার আমি করার পরে, আমি সংযুক্ত করতে সক্ষম হয়েছি কিন্তু সংযোগ করতে পারিনি। ব্লুটুথড আমাকে এই নতুন ত্রুটি দিয়েছে:

bluetoothd[3078]: profiles/audio/a2dp.c:a2dp_source_connect() path /org/bluez/hci0/dev_70_72_3C_62_49_7F
bluetoothd[3078]: a2dp-source profile connect failed for 70:72:3C:62:49:7F: Protocol not available

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

এখনও অবধি, আমি আমার অ্যাডাপ্টারে এই প্রোটোকল যুক্ত করার কোনও উপায় খুঁজে পাইনি।


আপনি কি ব্লুটুথেক্টেল চেষ্টা করেছেন? ডান এজেন্ট সেট করুন এবং এটি ডিফল্ট-এজেন্টে রাখুন। এছাড়াও বিটিমন আপনার ইস্যুতে আরও অন্তর্দৃষ্টি পেতে সহায়তা করতে পারে

উত্তরের জন্য ধন্যবাদ. হ্যাঁ. নতুন কনফিগারেশন সহ (ব্লুজেড 5 এবং পিএ 5, নীচে দেখুন) আমি ব্লুটুথেক্টেল ব্যবহার করতে পারি।
মিস্টার ইউজার

উত্তর:


8

সমাধান:

প্রোফাইলটি (এ 2 ডিপি) সংযুক্ত ছিল না এবং অন্যদের একই সমস্যা রয়েছে তা দেখার পরে, আমি এই প্রোফাইলটি এখনও ব্লুজেড 5 এ প্রয়োগ করা হয়েছে কিনা তা খতিয়ে দেখলাম। আমি অনুমান করি যে আমি পোর্টিং গাইডটি খুব কাছাকাছিভাবে পড়িনি, কারণ এটি ব্যাখ্যা করে যে এ 2 ডিপি ব্লুজেড স্ট্যাকের বাইরে এবং জিস্ট্রিমারে চলে গেছে। আমি জিস্ট্রিমার সম্পর্কে কখনও শুনিনি, তবে আমি এই পোস্ট থেকে দেখেছি যে পালস অডিও এবং জ্যাক এছাড়াও এই প্রোফাইলটি বাস্তবায়ন করবে। আমি পালস অডিওকে চেষ্টা করেছিলাম তবে এটি অ্যাডাপ্টারের জন্য সঠিক ইউআইডিগুলি লোড করবে না। তারপরে অবশেষে আমি আর্কলিনাক্স উইকিতে একটি পোস্ট পেয়েছি আমি অবশ্যই এই পৃষ্ঠায় এক মিলিয়ন বার এসেছি, তবে সম্ভবত আমি তখনই ব্লুজেড 4 ব্যবহার করছিলাম।

সবচেয়ে গুরুত্বপূর্ণভাবে:

-নিউজ করুন নতুন পালস অডিও 5 উত্স কোড, যা ব্লুজেড 5 এর জন্য সমর্থন রয়েছে এবং এটি সংকলন করুন। (এটি অ্যাপ্লিকেশনগুলির মধ্যে নতুন সংস্করণ নয়))

-পরিবর্তনটি অনেক বেশি নির্ভরশীলতা গ্রহণ করেছে (জেএসএন, লিব্সডফাইল, লিবক্যাপ, ইত্যাদি)

মনে রাখবেন যে পিএ 5-এর পথটি / ইউএসআর / স্থানীয় নয় / ইউএসআর / (এটি গুরুত্বপূর্ণ, কারণ আমি এটিকে $ এলডি_লিবিআরএইপিএটিএইচ এ লিখতে হয়েছিল যাতে পিএ শুরুতে লিবপুলসেকোর -5.0 খুঁজে পেতে পারে)

-আরআরআরলিনাক্স উইকি যেমন বলেছে, শুরুতে চলমান পালসোডিও সার্ভারটি মেরে নতুন একটি শুরু করুন। এটি প্রারম্ভকালে প্রোফাইলগুলি লোড করে না। ডিমন রেসপন্স করেছে কিনা তা নিশ্চিত করুন। (/Usr/local//etc/pulse/client.conf এ সেট করুন)

এর পরে, সাধারণ প্যাক্টল কমান্ডগুলি কাজ করে। আমি PA5 এ প্রবাহিত করতে a2dp বিটি উত্স (অর্থাত্ আইপড) পেতে সক্ষম হয়েছি এবং তারপরে লুপব্যাক মডিউলটি ব্যবহার করে একটি a2dp বিটি সিঙ্কে প্রবাহিত করব!

আমি এটি ALSA দিয়ে চালাতে সক্ষম হইনি, তবে আমি কোথাও পড়েছি যে ব্লুজেড 5 আর ALSA পিসিএম প্লাগইনগুলিকে সমর্থন করে না।


2

উপরের সমস্যার মূল কথাটি এই বাক্যটি: "একবার আবিষ্কার বন্ধ হয়ে গেলে, সংযুক্ত বা জোড়যুক্ত নয় এমন ডিভাইসগুলি তিন মিনিটের মধ্যে ব্লুটুথড দ্বারা স্বয়ংক্রিয়ভাবে সরানো হবে।"

দয়া করে http://www.bluez.org/bluez-5-api-intr پيداوار- and- porting- guide/ থেকে ডিভাইস আবিষ্কারের বিভাগটি পড়ুন

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

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