真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在Linux下設(shè)置錄音筆時(shí)間

服務(wù)器

買了一個(gè)錄音筆,效果比使用筆記本話筒錄音好多了還省電。當(dāng)然啦,我也曾試過使用手機(jī)錄音,結(jié)果是,沒能錄多久就中斷了(Android 就是這么不靠譜)。

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括六枝網(wǎng)站建設(shè)、六枝網(wǎng)站制作、六枝網(wǎng)頁制作以及六枝網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,六枝網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到六枝省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

我的錄音需要記錄較為準(zhǔn)確的時(shí)間信息。錄音筆怎么知道現(xiàn)在是什么時(shí)間呢?還好它沒有跟風(fēng),用不著聯(lián)網(wǎng)!

它帶了一個(gè)小程序,叫「錄音筆專用時(shí)間同步工具」(英文叫「SetUDiskTime」,可以搜到的)。是一個(gè) EXE 文件,以及一個(gè) DLL 文件。功能很棒,沒有廣告,沒有推薦,也不需要注冊什么亂七八糟的賬戶,甚至都不需要打開瀏覽器訪問人家官網(wǎng)。就彈一個(gè)框,顯示當(dāng)前時(shí)間,確定一下就設(shè)置好時(shí)間了。這年頭,這么單純的 Windows 軟件還真是難得呢。

然而,它不支持我用的 Linux 啊。雖然我努力地保證這錄音筆一直有電,但是時(shí)間還是丟失了幾次,它的FAT文件系統(tǒng)也臟了幾次。每次我都得開 WinXP 虛擬機(jī)來設(shè)置時(shí)間,好麻煩。

Wine 是不行的,硬件相關(guān)的東西基本上沒戲。拿 Procmon 跟蹤了一下,也沒什么復(fù)雜的操作,主要部分就幾個(gè) DeviceIoControl 調(diào)用,但是看不到調(diào)用參數(shù)。試了試 IDA,基本看不懂……不過倒是能知道,它通過 IOCTL_SCSI_PASSTHROUGH 直接給設(shè)備發(fā)送了 SCSI 命令。

既然跟蹤不到,試試抓 USB 的包好了。本來想用 Wireshark 的,但是 WinXP 版的 Wireshark 看來不支持。又嘗試了設(shè)備分配給 VBox 然后在 Linux 上抓包,結(jié)果 permission denied……我是 root 啊都被 deny 了……

那么,還是在 Windows 上抓包吧。有一個(gè)軟件叫 USBPcap,下載安裝最新版,結(jié)果遇到 bug。那試試舊版本吧。官網(wǎng)沒給出舊版本的下載地址,不過看到下載鏈接帶上了版本號(hào),這就好辦了。去 commit log 里找到舊的版本號(hào)替換進(jìn)去,https://dl.bintray.com/desowin/USBPcap/USBPcapSetup-1.0.0.7.exe,就好了~

抓好包,取到 Linux 下扔給 Wireshark 解讀。挺小的呢,不到50個(gè)包,大部分還都是重復(fù)的。很快就定位到關(guān)鍵位置了:

一個(gè) 0xcc 命令發(fā)過去,設(shè)備回復(fù)「ACTIONSUSBD」,大概是讓設(shè)備做好準(zhǔn)備。然后一個(gè) 0xb0 命令,帶上7字節(jié)數(shù)據(jù)發(fā)過去,時(shí)間就設(shè)置好了。簡單明了,不像那些小米空氣凈化器之類的所謂「物聯(lián)網(wǎng)」,通訊加密起來不讓人好好使用。

那么,這7字節(jié)是怎么傳遞時(shí)間數(shù)據(jù)的呢?我首先檢查了UNIX時(shí)間戳,對不上。后來發(fā)送這個(gè)字串看上去挺像YYYYMMDDHHMMSS格式的,只是明顯不是當(dāng)時(shí)的時(shí)間。啊,它是十六進(jìn)制的嘛!心算了幾個(gè),符合!再拿出我的 Python 牌計(jì)算器,確定年份是小端序的16位整數(shù)。

好了,協(xié)議細(xì)節(jié)都弄清楚了,接下來是實(shí)現(xiàn)。我原以為我得寫個(gè) C 程序,調(diào)幾個(gè) ioctl 的,后來網(wǎng)友說有個(gè) sg3_utils 包。甚好,直接拿來用 Python 調(diào),省得研究那幾個(gè) ioctl 要怎么寫。

#!/usr/bin/env python3
import os
import sys
import struct
import subprocess
import datetime
def set_time(dev):
 cmd = [\'sg_raw\', \'-s\', \'7\', dev, \'b0\', \'00\', \'00\', \'00\', \'00\', \'00\',
   \'00\', \'07\', \'00\', \'00\', \'00\', \'00\']
 p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
 dt = datetime.datetime.now()
 data = struct.pack(\'            
文章名稱:如何在Linux下設(shè)置錄音筆時(shí)間
本文鏈接:http://weahome.cn/article/cjcoei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部