隋庐江襄安(今安徽巢湖市)人,字长威。大业三年(公元607年),任虎贲郎将。五年,与张镇周率万余人,由义安(今广东潮州)入流求(今台湾)。六年二月,返回洛阳,曾陈述航海经过。十三年,任右御卫将军,统军进攻杜伏威,大败。武德二年(619年),降唐,任扬州总管,又为李子通所攻,投奔杜伏威,被杀。